接口地址如下所示:
上传成功后的截图如下所示:
分析:由于ant-design-vue中使用的上传组件中默认使用的是Action:''后加一个接口地址的形式,但是一般这种操作是带不了参数的,所以,需要自己封装一个函数,重新写这个组件:
其中主要是利用:customRequest这个属性,自定义一个上传文件函数,通过函数来实现:具体操作如下:
customRequestYN(info) {
let formData = new FormData() //构造一个表单数据
formData.append('fileType', 1)
formData.append('shpId', this.nowShpId) //传入参数
formData.append('file', info.file) //传入文件二进制数据
postAction(this.url.addPlan, formData).then((res) => {
if (res.status == true) {
}
})
//下边代码是为了解决文件上传成功以后没有加载进度条的问题。
let progress = { percent: 1 }
const intervalId = setInterval(() => {
if (progress.percent < 100) {
progress.percent++
info.onProgress(progress)
} else {
clearInterval(intervalId)
info.file.status = 'done'
info.onSuccess() //完成后调用的时间
}
}, 100)
info.file.status = 'done'
},