您的位置:首页 > Web前端 > Vue.js

vue element upload实现图片本地预览

2019-08-20 11:02 651 查看

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>

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

以上就是本文的全部内容,希望对大家的学习有所帮助

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vue element 图片预览