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 trigger伪造a标签的click事件取代window.open方法
Jun 23 Javascript
浅谈js常用内置方法和对象
Sep 24 Javascript
Bootstrap栅格系统简单实现代码
Mar 06 Javascript
在百度搜索结果中去除掉一些网站的资料(通过js控制不让显示)
May 02 Javascript
IScroll5实现下拉刷新上拉加载的功能实例
Aug 11 Javascript
JS中图片压缩的方法小结
Nov 14 Javascript
jQuery第一次运行页面默认触发点击事件的实例
Jan 10 jQuery
Vue实现内部组件轮播切换效果的示例代码
Apr 07 Javascript
vue通过cookie获取用户登录信息的思路详解
Oct 30 Javascript
jQuery开发仿QQ版音乐播放器
Jul 10 jQuery
详解js中的几种常用设计模式
Jul 16 Javascript
vue实现移动端返回顶部
Oct 12 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与javascript的两种交互方式
2006/10/09 PHP
PHP memcache扩展的三种安装方法
2009/04/26 PHP
PHP 魔术函数使用说明
2010/05/14 PHP
php笔记之:有规律大文件的读取与写入的分析
2013/04/26 PHP
PHP封装的数据库保存session功能类
2016/07/11 PHP
PHP中spl_autoload_register()函数用法实例详解
2016/07/18 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
2019/06/22 PHP
jQuery的12招常用技巧分享
2011/08/08 Javascript
JQuery中判断一个元素下面是否有内容或者有某个标签的判断代码
2012/02/02 Javascript
删除select中所有option选项jquery代码
2013/08/12 Javascript
jQuery实现公告文字左右滚动的实例代码
2013/10/29 Javascript
使用jQuery和PHP实现类似360功能开关效果
2014/02/12 Javascript
JQuery在循环中绑定事件的问题详解
2016/06/02 Javascript
JS正则表达式验证账号、手机号、电话和邮箱是否合法
2017/03/08 Javascript
微信小程序实现自定义加载图标功能
2018/07/19 Javascript
微信小程序框架的页面布局代码
2019/08/17 Javascript
layer.prompt输入层的例子
2019/09/24 Javascript
vuex state中的数组变化监听实例
2019/11/06 Javascript
react中hook介绍以及使用教程
2020/12/11 Javascript
Python实现批量下载文件
2015/05/17 Python
python中csv文件的若干读写方法小结
2018/07/04 Python
Pycharm设置utf-8自动显示方法
2019/01/17 Python
Python多线程threading模块用法实例分析
2019/05/22 Python
Python3和PyCharm安装与环境配置【图文教程】
2020/02/14 Python
HTML5实现应用程序缓存(Application Cache)
2020/06/16 HTML / CSS
估算杭州有多少软件工程师
2015/08/11 面试题
傲盾软件面试题
2015/08/17 面试题
擅自离岗检讨书
2014/02/11 职场文书
高中军训感言1000字
2014/03/01 职场文书
农民工工资承诺书范文
2014/03/31 职场文书
网页美工求职信范文
2014/04/17 职场文书
公司任命书范本
2014/06/04 职场文书
教师考核评语大全
2014/12/31 职场文书
采购内勤岗位职责
2015/04/13 职场文书
2015年政务公开工作总结
2015/05/19 职场文书
bat批处理之字符串操作的实现
2022/03/16 Python