<div class="uploader">
<span>图片上传</span>
<van-uploader
v-model="fileList"
accept="image/*"
:after-read="afterRead"
multiple
/>
</div>
data() {
return {
countMax: 9,
fileList: [],
fileArr: [],
}
},
afterRead(file) {
if (!Array.isArray(file)) {
file = [file]
}
for (let i = 0; i < file.length; i++) {
let fileUrl = file[i].file
file[i].status = 'uploading'
file[i].message = '上传中...'
let formData = new FormData()
formData.append('file', fileUrl)
this.postImg(formData, (res) => {
console.log(res)
if (res.status == 200) {
file[i].url = res.data.info.url
file[i].status = 'done'
file[i].message = '上传成功'
console.log(this.fileList)
} else {
file[i].status = 'failed'
file[i].message = '上传失败'
Dialog.alert({
title: '温馨提示',
message: '图片上传失败,请重新上传',
}).then(() => {})
}
})
}
},
async postImg(formData, cb) {
const res = await uploadImg(formData)
cb(res)
},