Files

54 lines
1.4 KiB
JavaScript
Raw Permalink Normal View History

2025-08-15 14:05:08 +08:00
Component({
data: {
fileList: [],
},
methods: {
handleAdd(e) {
const { fileList } = this.data;
const { files } = e.detail;
// 方法1选择完所有图片之后统一上传因此选择完就直接展示
this.setData({
fileList: [...fileList, ...files], // 此时设置了 fileList 之后才会展示选择的图片
});
// 方法2每次选择图片都上传展示每次上传图片的进度
// files.forEach(file => this.uploadFile(file))
},
onUpload(file) {
const { fileList } = this.data;
this.setData({
fileList: [...fileList, { ...file, status: 'loading' }],
});
const { length } = fileList;
const task = wx.uploadFile({
url: 'https://example.weixin.qq.com/upload', // 仅为示例,非真实的接口地址
filePath: file.url,
name: 'file',
formData: { user: 'test' },
success: () => {
this.setData({
[`fileList[${length}].status`]: 'done',
});
},
});
task.onProgressUpdate((res) => {
this.setData({
[`fileList[${length}].percent`]: res.progress,
});
});
},
handleRemove(e) {
const { index } = e.detail;
const { fileList } = this.data;
fileList.splice(index, 1);
this.setData({
fileList,
});
},
},
});