vue.js 上传图片实例代码


Posted in Javascript onJune 22, 2017

最近爱上了用vue.js做前端,昨天用vue上传图片时遇到了问题,最后半天时间终于摸索出来,我将相关部分的代码贴出来。

前端部分

<div class="form-group">
    <label>背景图</label>
    <input type="file" class="form-control" @change="onFileChange">
 </div>
<div class="form-group" v-if="image">
    <label>背景图预览</label>
    ![](image)
</div>

vue.js部分

在methods里添加

onFileChange(e) {
  var files = e.target.files || e.dataTransfer.files;
  if (!files.length)
   return;
   this.createImage(files[0]);
  },
createImage(file) {
  var image = new Image();
  var reader = new FileReader();
  var vm = this;

  reader.onload = (e) => {
    vm.image = e.target.result;
  };
    reader.readAsDataURL(file);
},

那么提交时如何获取呢?

在提交的方法里,通过 this.image 即可,获取的图片格式是图片流格式,以data:image开头。

如何在后端(我用php)获取呢?

直接贴代码

$bg = $request->get('image');//获取图片流
$url = explode(',',$bg);
$filename = md5(time().str_random(8)).'.png';//自定义图片名
$filepath = public_path('image').'/'.$filename;//图片存储路径
$bgurl = '/image/'.$filename;//图片url ,具体看自己后台环境,我用的是laravel
file_put_contents($filepath, base64_decode($url[1]));//保存图片到自定义的路径

将$bgurl保存在数据库即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
认识延迟时间为0的setTimeout
May 16 Javascript
不使用jquery实现js打字效果示例分享
Jan 19 Javascript
Js实现动态添加删除Table行示例
Apr 14 Javascript
JS判断客服QQ号在线还是离线状态的方法
Jan 13 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
Mar 23 Javascript
使用JavaScript和CSS实现文本隔行换色的方法
Nov 04 Javascript
JS数字千分位格式化实现方法总结
Dec 16 Javascript
canvas 弹幕效果(实例分享)
Jan 11 Javascript
Vue.js手风琴菜单组件开发实例
May 16 Javascript
js判断数组是否包含某个字符串变量的实例
Nov 24 Javascript
Vue中this.$router.push参数获取方法
Feb 27 Javascript
js事件on动态绑定数据,绑定多个事件的方法
Sep 15 Javascript
详解Angular 开发环境搭建
Jun 22 #Javascript
详解Angular2组件之间如何通信
Jun 22 #Javascript
Angular2 父子组件数据通信实例
Jun 22 #Javascript
详解Angular之constructor和ngOnInit差异及适用场景
Jun 22 #Javascript
详解Angular 中 ngOnInit 和 constructor 使用场景
Jun 22 #Javascript
文本溢出插件jquery.dotdotdot.js使用方法详解
Jun 22 #jQuery
详解Vue 2.0封装axios笔记
Jun 22 #Javascript
You might like
php不使用插件导出excel的简单方法
2014/03/04 PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
2014/06/09 PHP
Zend Framework框架实现类似Google搜索分页效果
2016/11/25 PHP
thinkphp自定义权限管理之名称判断方法
2017/04/01 PHP
PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】
2020/04/14 PHP
jquery tools之tabs 选项卡/页签
2009/07/25 Javascript
javascript 定义新对象方法
2010/02/20 Javascript
autoPlay 基于jquery的图片自动播放效果
2011/12/07 Javascript
Js调用Java方法并互相传参的简单实例
2016/08/11 Javascript
遍历json获得数据的几种方法小结
2017/01/21 Javascript
浅谈js中startsWith 函数不能在任何浏览器兼容的问题
2017/03/01 Javascript
说说AngularJS中的$parse和$eval的用法
2017/09/14 Javascript
vue中使用cropperjs的方法
2018/03/01 Javascript
JavaScript常见事件对象与操作实例总结
2019/01/05 Javascript
Angular Excel 导入与导出的实现代码
2019/04/17 Javascript
jQuery操作动画完整实例分析
2020/01/10 jQuery
vue组件开发之slider组件使用详解
2020/08/21 Javascript
Python循环语句中else的用法总结
2016/09/11 Python
Python脚本实现Web漏洞扫描工具
2016/10/25 Python
python并发编程之多进程、多线程、异步和协程详解
2016/10/28 Python
浅析Python中yield关键词的作用与用法
2016/11/29 Python
python2.7到3.x迁移指南
2018/02/01 Python
python使用OpenCV模块实现图像的融合示例代码
2020/04/10 Python
Python实例教程之检索输出月份日历表
2020/12/16 Python
美国著名童装品牌:OshKosh B’gosh
2016/08/05 全球购物
我们是伦敦女孩:WalG
2018/01/08 全球购物
Manduka官网:瑜伽垫、瑜伽毛巾和服装
2018/07/02 全球购物
速比涛英国官网:Speedo英国
2019/07/15 全球购物
do you have any Best Practice for testing
2016/06/04 面试题
行政人员岗位职责
2013/12/08 职场文书
现金出纳岗位职责
2014/03/15 职场文书
抗洪救灾先进集体事迹材料
2014/05/26 职场文书
园林专业毕业生自荐信
2014/07/04 职场文书
公司离职证明标准范本
2014/10/05 职场文书
寒山寺导游词
2015/02/03 职场文书
少年犯观后感
2015/06/11 职场文书