需求:点击新增修改,弹框里面有文件上传的功能
思路:
- 文件上传时,走的时文件上传的接口,然后把调用接口成功后的值当成参数,传给新增接口
- 点击编辑修改时,假如此时客户没有修改文件上传,这时候我们就不用隐式文件上传,可以把上传的文件字段从对象参数中给删除掉,(原因是后台会更新传入修改的字段,如果这个字段值没有变化,那么后段还是返回原来数据值)
删除的方式是delete this.form.uploadFile
// 合同附件
handleBeforeUpload(file) {
const formdata = new FormData()//构造函数,将文件转化成二进制流
formdata.append('file', file)//添加文件名,效果和组件里面的name一样
//注意:console.log(formdata),是没有值的,原因是文件转化二进制流内容较大,无法显示,可以通过formdata.get('file')进行读取
try {
upload(formdata)
.then((res) => {
const { status, data } = res
if (status.errCode == 0) {
this.form.attachment = data.path //attachment附件上传的字段
this.$Message.success('上传成功!')
} else {
this.$Message.warning(status.message)
}
})
.catch((err) => {
console.log(err)
})
.finally(() => {})
} catch (error) {
this.$Message.error('上传失败')
}
return false
},
另外:限制上传文件的格式限制总结在如下链接