wx.uploadFile filePath 怎么传多个文件
时间: 2023-08-30 09:07:28 浏览: 97
Mjw:微信小程序之踩坑之旅一,wx.request 和 wx.uploadFile
`wx.uploadFile` API 只能上传一个文件,如果需要上传多个文件,可以使用 Promise 和递归函数来实现。
例如,以下代码演示了如何传递一个包含多个文件路径的数组,并逐个上传每个文件:
```javascript
function uploadFiles(urls, index = 0) {
return new Promise((resolve, reject) => {
if (index >= urls.length) {
resolve();
return;
}
const url = urls[index];
wx.uploadFile({
url: 'https://example.com/upload',
filePath: url,
name: 'file',
success: (res) => {
// 上传成功后递归上传下一个文件
uploadFiles(urls, index + 1).then(resolve).catch(reject);
},
fail: (err) => {
reject(err);
},
});
});
}
// 调用示例
const files = ['/path/to/file1', '/path/to/file2', '/path/to/file3'];
uploadFiles(files).then(() => {
console.log('All files uploaded successfully');
}).catch((err) => {
console.error('Failed to upload files:', err);
});
```
这个 `uploadFiles` 函数接收一个包含多个文件路径的数组 `urls`,并使用 Promise 和递归函数来逐个上传每个文件。在每个上传成功的回调函数中,使用递归函数来上传下一个文件,直到所有文件都上传完毕。
阅读全文