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 相关文章推荐
jQuery判断元素是否是隐藏的代码
Apr 24 Javascript
在JavaScript里嵌入大量字符串常量的实现方法
Jul 07 Javascript
jquery的flexigrid无法显示数据提示获取到数据
Jul 19 Javascript
Node.js开发者必须了解的4个JS要点
Feb 21 Javascript
Vue.js路由组件vue-router使用方法详解
Dec 02 Javascript
详解原生js实现offset方法
Jun 15 Javascript
浅谈JavaScript作用域和闭包
Sep 18 Javascript
mui框架移动开发初体验详解
Oct 11 Javascript
vuex的使用及持久化state的方式详解
Jan 23 Javascript
如何解决React官方脚手架不支持Less的问题(小结)
Sep 12 Javascript
vue cli安装使用less的教程详解
Jul 12 Javascript
JavaScript实现身份证验证代码实例
Aug 26 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
建立动态的WML站点(三)
2006/10/09 PHP
php程序效率优化的一些策略小结
2010/07/17 PHP
PHP实现显示照片exif信息的方法
2014/07/11 PHP
能说明你的Javascript技术很烂的五个原因分析
2011/10/28 Javascript
js鼠标滑过弹出层的定位IE6bug解决办法
2012/12/26 Javascript
jquery的map与get方法详解
2013/11/04 Javascript
jQuery 中$(this).index与$.each的使用指南
2014/11/20 Javascript
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
2015/03/02 Javascript
JQuery节点元素属性操作方法
2015/06/11 Javascript
纯js模拟div层弹性运动的方法
2015/07/27 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
js带前后翻页的图片切换效果代码分享
2015/09/08 Javascript
jquery插件之文字间歇自动向上滚动效果代码
2016/02/25 Javascript
图解prototype、proto和constructor的三角关系
2016/07/31 Javascript
form表单转Json提交的方法(推荐)
2016/09/23 Javascript
Bootstrap 手风琴菜单的实现代码
2017/01/20 Javascript
简单实现AngularJS轮播图效果
2020/04/10 Javascript
nodejs使用express获取get和post传值及session验证的方法
2017/11/09 NodeJs
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
2019/11/01 Javascript
Windows下安装 node 的版本控制工具 nvm
2020/02/06 Javascript
简单了解vue 插值表达式Mustache
2020/07/22 Javascript
[01:28:43]2014 DOTA2华西杯精英邀请赛5 24 DK VS CIS
2014/05/25 DOTA
Python 判断文件或目录是否存在的实例代码
2018/07/19 Python
Python3.0 实现决策树算法的流程
2019/08/08 Python
Python数据持久化存储实现方法分析
2019/12/21 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
HTML5中通过li-canvas轻松实现单图、多图、圆角图绘制,单行文字、多行文字等
2018/11/30 HTML / CSS
html5本地存储 localStorage操作使用详解
2016/09/20 HTML / CSS
计算机维护专业推荐信
2014/02/27 职场文书
政协调研汇报材料
2014/08/15 职场文书
个人纪律作风整改措施思想汇报
2014/10/12 职场文书
常务副总经理岗位职责
2015/02/02 职场文书
社会实践单位意见
2015/06/05 职场文书
2016新党章学习心得体会
2016/01/15 职场文书
班级元旦晚会开幕词
2016/03/04 职场文书
Java异常体系非正常停止和分类
2022/06/14 Java/Android