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 相关文章推荐
js程序中美元符号$是什么
Jun 05 Javascript
图像替换新技术 状态域方法
Jan 28 Javascript
javascript针对DOM的应用分析(四)
Apr 15 Javascript
jQuery统计指定子元素数量的方法
Mar 17 Javascript
JavaScript实现自动消除按钮功能的方法
Aug 05 Javascript
JS实现禁止高频率连续点击的方法【基于ES6语法】
Apr 25 Javascript
JavaScript中Array方法你该知道的正确打开方法
Sep 11 Javascript
vue-cli 3.x 修改dist路径的方法
Sep 19 Javascript
vue基于viewer实现的图片查看器功能
Apr 12 Javascript
vue-router路由模式详解(小结)
Aug 26 Javascript
JS页面获取 session 值,作用域和闭包学习笔记
Oct 16 Javascript
《javascript设计模式》学习笔记四:Javascript面向对象程序设计链式调用实例分析
Apr 07 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
解析thinkphp中的导入文件标签
2013/06/20 PHP
jQuery 隔行换色 支持键盘上下键,按Enter选定值
2009/08/02 Javascript
JS模拟的QQ面板上的多级可展开的菜单
2009/10/10 Javascript
js 处理URL实用技巧
2010/11/23 Javascript
24款非常有用的 jQuery 插件分享
2011/04/06 Javascript
几种延迟加载JS代码的方法加快网页的访问速度
2013/10/12 Javascript
判断JS对象是否拥有某种属性的两种方式
2013/12/02 Javascript
javascript模拟地球旋转效果代码实例
2013/12/02 Javascript
JavaScript实现找质数代码分享
2015/03/24 Javascript
举例讲解JavaScript substring()的使用方法
2015/11/09 Javascript
js获取本机操作系统类型的两种方法
2015/12/19 Javascript
window.open不被拦截的简单实现代码(推荐)
2016/08/04 Javascript
浅谈jQuery中的$.extend方法来扩展JSON对象
2017/02/12 Javascript
vue下拉菜单组件(含搜索)的实现代码
2018/11/25 Javascript
Angular使用ControlValueAccessor创建自定义表单控件
2019/03/08 Javascript
Node.js中package.json中库的版本号(~和^)
2019/04/02 Javascript
layui的数据表格+springmvc实现搜索功能的例子
2019/09/28 Javascript
详解vue beforeEach 死循环问题解决方法
2020/02/25 Javascript
OpenLayers3实现地图鹰眼以及地图比例尺的添加
2020/09/25 Javascript
NodeJS和浏览器中this关键字的不同之处
2021/03/03 NodeJs
Python深入学习之特殊方法与多范式
2014/08/31 Python
python 根据pid杀死相应进程的方法
2017/01/16 Python
python脚本生成caffe train_list.txt的方法
2018/04/27 Python
Python用于学习重要算法的模块pygorithm实例浅析
2018/08/16 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
2020/03/25 Python
Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解
2020/03/30 Python
十月份红领巾广播稿
2014/01/22 职场文书
电气自动化专业职业规划范文
2014/02/16 职场文书
初一新生军训方案
2014/05/22 职场文书
纪念九一八事变83周年国旗下讲话稿
2014/09/15 职场文书
个人债务授权委托书
2014/10/17 职场文书
个性发展自我评价2015
2015/03/09 职场文书
2015年度个人思想工作总结
2015/04/08 职场文书
鲁滨孙漂流记读书笔记
2015/06/30 职场文书
vue 自定义组件添加原生事件
2022/04/21 Vue.js
Python软件包安装的三种常见方法
2022/07/07 Python