取消默认上传行为,覆盖action上传地址,不影响回显
在项目进行的时候发现element上传组件有很多限制,所以研究了一下则个方法
action是上传组件的必选参数,类型为String,我们可以随意给他一个字符串变量打发了,而通过http-request则可以覆盖默认上传行为,这样我们的问题就解决了;
这是组件应用
<h3>修改默认上传事件/取消action上传限制</h3>
<el-upload
class="avatar-uploader"
:action="vartaie"
:show-file-list="false"
:http-request="uploading">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
在data中定义两个参数
imageUrl是为了图片显示,vartaie是替换action路径的字符串
再定义一个接收file文件的方法
uploading(file){
this.$message({
type:'success',
message:'上传文件类型为:' + file.file.type + ';上传文件大小为:' + (file.file.size / 1024 / 1024) + 'M'
})
if (file.file.type === 'image/jpeg' || file.file.type === 'image/png') {
let sendFile = file.file; //file文件,传递到后端,一般通过FormData() 存储该文件
this.imageUrl = URL.createObjectURL(file.file); // 拿到本地图片路径 用于回显
var formData = new FormData();
formData.append('name',sendFile) ; //FormData() 用法
//console.log(formData.get('name')); // 查看formData中存储的值
}
}
over