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 相关文章推荐
收集的一些Array及String原型对象的扩展实现代码
Dec 05 Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
Apr 27 Javascript
JS模拟简易滚动条效果代码(附demo源码)
Apr 05 Javascript
Boostrap实现的登录界面实例代码
Oct 09 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
Jan 12 Javascript
webstorm添加vue.js支持的方法教程
Jul 05 Javascript
express框架实现基于Websocket建立的简易聊天室
Aug 10 Javascript
Nginx 配置多站点vhost 的方法
Jan 07 Javascript
vue 不使用select实现下拉框功能(推荐)
May 17 Javascript
微信小程序自定义组件封装及父子间组件传值的方法
Aug 28 Javascript
jquery实现动态改变css样式的方法分析
May 27 jQuery
vue-cli+webpack项目打包到服务器后,ttf字体找不到的解决操作
Aug 28 Javascript
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查询当天,查询本周,查询本月的数据实例(字段是时间戳)
2017/02/04 PHP
ThinkPHP开发--使用七牛云储存
2017/09/14 PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
2019/10/11 PHP
客户端脚本中常常出现的一些问题和调试技巧
2007/01/09 Javascript
setTimeout 不断吐食CPU的问题分析
2009/04/01 Javascript
JQuery动态添加和删除表格行的方法
2015/03/09 Javascript
使用原生js写ajax实例(推荐)
2017/05/31 Javascript
jquery dataTable 后台加载数据并分页实例代码
2017/06/07 jQuery
Angularjs添加排序查询功能的实例代码
2017/10/24 Javascript
jQuery实现轮播图及其原理详解
2020/04/12 jQuery
layer弹出层全屏及关闭方法
2018/08/17 Javascript
vue框架制作购物车小球动画效果实例代码
2019/09/26 Javascript
移动端JS实现拖拽两种方法解析
2020/10/12 Javascript
[03:23:49]2016.12.17日完美“圣”典全回顾
2016/12/19 DOTA
[01:00:25]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS Liquid
2018/03/31 DOTA
Python的Flask框架中实现分页功能的教程
2015/04/20 Python
浅谈Pandas中map, applymap and apply的区别
2018/04/10 Python
python找出一个列表中相同元素的多个索引实例
2019/06/11 Python
详解pandas删除缺失数据(pd.dropna()方法)
2019/06/25 Python
python SQLAlchemy 中的Engine详解
2019/07/04 Python
python使用Qt界面以及逻辑实现方法
2019/07/10 Python
python项目对接钉钉SDK的实现
2019/07/15 Python
pytorch神经网络之卷积层与全连接层参数的设置方法
2019/08/18 Python
详解Open Folder as PyCharm Project怎么添加的方法
2020/12/29 Python
英国知名衬衫品牌美国网站:Charles Tyrwhitt美国
2016/08/28 全球购物
Missguided美国官网:英国时尚品牌
2018/01/18 全球购物
Myprotein丹麦官网:欧洲第一运动营养品牌
2019/04/15 全球购物
请描述一下”is a”关系和”has a”关系
2015/02/03 面试题
大学毕业后的十年规划
2014/01/07 职场文书
2014年秋季新学期寄语
2014/08/02 职场文书
2014年大学学生会工作总结
2014/12/02 职场文书
小学生作文批改评语
2014/12/25 职场文书
2015年大学班主任工作总结
2015/04/30 职场文书
会议简报格式范文
2015/07/20 职场文书
2015双创工作总结
2015/07/24 职场文书
高二英语教学反思
2016/03/03 职场文书