element-ui上传组件图片默认不上传显示图片缩略图

2018-05-22  本文已影响0人  EricHedgedog

新入职公司,新团队实训练手项目,后端没有提供单独的图片上传接口,需要用form/data 形式表单字段和图片文件一起提交,element UI 的上传组件默认需要启用action。
在选取图片文件后为了不让它默认上传,可以在upload组件加上 :auto-upload: "false" 属性

<el-upload
    class="upload-poster"                               
        action="https://jsonplaceholder.typicode.com/posts/"
        :show-file-list="false"
        :on-change="imgPreview"
        :auto-upload="false">
        <img v-if="formMovie.posterURL" :src="formMovie.posterURL" class="avatar">
        <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>

用on-change 文件上传状态钩子 来监控是否已经选取了图片文件,文件值改变调用imgPreview方法

imgPreview (file, fileList) {
            let fileName = file.name;
            let regex = /(.jpg|.jpeg|.gif|.png|.bmp)$/;
            if (regex.test(fileName.toLowerCase())) {
                this.formMovie.posterURL = file.url;
            } else {
                this.$message.error('请选择图片文件');
            }
        },

取到文件名,用正则判断是非为图片文件。
如果是图片文件,就能到文件的本地路径,更新到图片预览元素的src上。
这样就实现了,没有默认自动上传,并且有了图片缩略图预览。


image.png
上一篇下一篇

猜你喜欢

热点阅读