<view>
<view class="from-detail-title">上传图片</view>
<view>
<u-upload :fileList="fileList1" @afterRead="afterRead" @delete="deletePic" name="1" multiple :maxCount="9" :auto-upload="false"></u-upload>
</view>
</view>
data() {
return {
fileList1: [],
};
},
methods:{
// 新增图片
async afterRead(event) {
const lists = Array.isArray(event.file) ? event.file : [event.file];
lists.forEach((item) => {
this[`fileList${event.name}`].push({
...item,
status: "pending", // 更改为 pending 或其他表示等待上传的状态
message: ""
});
});
},
uploadFilePromise(url) {
return new Promise((resolve, reject) => {
let a = uni.uploadFile({
url:"你的上传接口", // 你的上传接口
filePath: url,
name: "file",
header: {
WapAuthor: "WapBearer " + getToken()
},
success: (res) => {
// resolve(res.data.data);
let data = JSON.parse(res.data); //最终传给的是字符串,这里需要转换格式
if (data.code != 200) {
this.$modal.showToast(data.msg);
}
resolve(data.fileName);
},
fail: (err) => {
uni.showToast({
title: "发送失败",
icon: "none"
});
reject();
}
});
});
},
async uploadImgs() {
const updatedFiles = await Promise.all(
this.fileList1.map(async (file, index) => {
try {
const result = await this.uploadFilePromise(file.url);
return {
...file,
status: "success",
message: "",
url: result
};
} catch (err) {
uni.showToast({
title: `${file.name} 上传的图片失败。请稍后再试。`,
icon: "none",
duration: 2000
});
return {
...file,
status: "failed",
message: err.message || "上传失败"
};
}
})
);
// 更新 fileList1
this.fileList1 = updatedFiles;
//发送请求 代码
}
},
}