vue element upload实现图片本地预览


Posted in Javascript onAugust 20, 2019

vue使用element实现本地预览,最主要的是将图片路径转换为base64,供大家参考,具体内容如下

HTML

<el-upload
 class="avatar-uploader"
 action="123" //这个路径不重要,可以随便写
 :show-file-list="false"
 :on-success="handleAvatarSuccess"
 :on-change="onchange"
 :before-upload="beforeAvatarUpload">
 <img v-if="imageUrl" :src="imageUrl" class="avatar">
 <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>

js部分

<script>
 export default {
  data() {
   return {
    imageUrl: '',
   };
  },
  methods: {
   handleAvatarSuccess(res, file) {
    this.imageUrl = URL.createObjectURL(file.raw);
   },
   beforeAvatarUpload(file) {
    const isJPG = file.type === 'image/jpeg';
    const isLt2M = file.size / 1024 / 1024 < 2;

    if (!isJPG) {
     this.$message.error('上传头像图片只能是 JPG 格式!');
    }
    if (!isLt2M) {
     this.$message.error('上传头像图片大小不能超过 2MB!');
    }
    return isJPG && isLt2M;
   },
   //当上传图片后,调用onchange方法,获取图片本地路径
   onchange(file,fileList){
     var _this = this;
        var event = event || window.event;
        var file = event.target.files[0];
        var reader = new FileReader(); 
        //转base64
        reader.onload = function(e) {
         _this.imageUrl = e.target.result //将图片路径赋值给src
        }
        reader.readAsDataURL(file);
   }
  }
 }
</script>

现在就可实现图片本地预览了。

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

Javascript 相关文章推荐
document.all还是document.getElementsByName?
Jul 21 Javascript
JavaScript 函数式编程的原理
Oct 16 Javascript
基于JQuery实现异步刷新的代码(转载)
Mar 29 Javascript
document.documentElement的一些使用技巧
Apr 18 Javascript
浅谈JavaScript字符集
May 22 Javascript
jQuery中[attribute]选择器用法实例
Dec 31 Javascript
jQuery中replaceAll()方法用法实例
Jan 16 Javascript
Jquery日期选择datepicker插件用法实例分析
Jun 08 Javascript
Javascript监视变量变化的方法
Jun 09 Javascript
JS实现灵巧的下拉导航效果代码
Aug 25 Javascript
全面解析多种Bootstrap图片轮播效果
May 27 Javascript
如何选择jQuery版本 1.x? 2.x? 3.x?
Apr 01 jQuery
JS中的算法与数据结构之集合(Set)实例详解
Aug 20 #Javascript
Vue + Element UI图片上传控件使用详解
Aug 20 #Javascript
微信小程序项目总结之记账小程序功能的实现(包括后端)
Aug 20 #Javascript
ES6中Symbol、Set和Map用法详解
Aug 20 #Javascript
Vue+Element UI+vue-quill-editor富文本编辑器及插入图片自定义
Aug 20 #Javascript
node中使用log4js4.x版本记录日志的方法
Aug 20 #Javascript
vue 获取视频时长的实例代码
Aug 20 #Javascript
You might like
发款php蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
深入浅析PHP无限极分类的案例教程
2016/05/09 PHP
详解Laravel视图间共享数据与视图Composer
2016/08/04 PHP
再谈IE中Flash控件的自动激活 ObjectWrap
2007/03/09 Javascript
javascript的键盘控制事件说明
2008/04/15 Javascript
jQuery html()等方法介绍
2009/11/18 Javascript
JQuery 常用操作代码
2010/03/14 Javascript
javascript preload&amp;lazy load
2010/05/13 Javascript
jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)
2013/01/16 Javascript
UpdatePanel和Jquery冲突的解决方法
2013/04/01 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
Javascript基础教程之变量
2015/01/18 Javascript
JavaScript日期类型的一些用法介绍
2015/03/02 Javascript
Node.js批量给图片加水印的方法
2016/11/15 Javascript
详解VUE中v-bind的基本用法
2017/07/13 Javascript
jQuery dateRangePicker插件使用方法详解
2017/07/28 jQuery
IntelliJ IDEA 安装vue开发插件的方法
2017/11/21 Javascript
微信小程序 冒泡事件原理解析
2019/09/27 Javascript
Vue proxyTable配置多个接口地址,解决跨域的问题
2020/09/11 Javascript
vue+node 实现视频在线播放的实例代码
2020/10/19 Javascript
[01:51]2014DOTA2国际邀请赛 这个赛场没有失败者VGTi5再见
2014/07/23 DOTA
Python网页解析利器BeautifulSoup安装使用介绍
2015/03/17 Python
基于python实现微信模板消息
2015/12/21 Python
pytorch AvgPool2d函数使用详解
2020/01/03 Python
python中with用法讲解
2020/02/07 Python
解决margin 外边距合并问题
2019/07/03 HTML / CSS
HTML 5 标签、属性、事件及浏览器兼容性速查表 附打包下载
2012/10/20 HTML / CSS
html5 div布局与table布局详解
2016/11/16 HTML / CSS
加拿大著名时装品牌:SOIA & KYO
2016/08/23 全球购物
计算机大学生的自我评价
2013/10/15 职场文书
课内比教学心得体会
2014/09/09 职场文书
八荣八耻演讲稿
2014/09/15 职场文书
网站出售协议书范文
2014/10/10 职场文书
2015年党性分析材料
2014/12/19 职场文书
2015年音乐教学工作总结
2015/07/22 职场文书
SQL Server使用导出向导功能
2022/04/08 SQL Server