uniapp多文件上传代码
时间: 2023-08-06 20:05:09 浏览: 140
当使用UniApp进行多文件上传时,你可以使用uni.uploadFile方法来实现。以下是一个示例代码:
```javascript
// 定义一个函数来处理文件上传
function uploadFiles(files) {
return new Promise((resolve, reject) => {
const uploadTasks = []
// 遍历文件列表,并将每个文件上传
for (let i = 0; i < files.length; i++) {
const file = files[i]
// 使用uni.uploadFile方法上传文件
const uploadTask = uni.uploadFile({
url: 'https://example.com/upload', // 上传接口地址
filePath: file.path, // 文件路径
name: 'file', // 后端接收文件的字段名
formData: {
// 可以额外传递一些参数
user: 'username',
type: 'image'
},
success: (res) => {
// 文件上传成功的回调
console.log('文件上传成功', res.data)
resolve(res.data)
},
fail: (err) => {
// 文件上传失败的回调
console.error('文件上传失败', err)
reject(err)
}
})
uploadTasks.push(uploadTask)
}
// 执行所有文件上传任务
Promise.all(uploadTasks).then((results) => {
console.log('所有文件上传完成', results)
resolve(results)
}).catch((err) => {
console.error('文件上传出错', err)
reject(err)
})
})
}
// 调用uploadFiles函数来上传文件
const filesToUpload = [
{ path: 'path/to/file1.jpg' },
{ path: 'path/to/file2.png' },
{ path: 'path/to/file3.txt' }
]
uploadFiles(filesToUpload).then((results) => {
// 所有文件上传完成后的回调
console.log('所有文件上传成功', results)
}).catch((err) => {
// 文件上传出错的回调
console.error('文件上传出错', err)
})
```
请注意,示例中的URL仅作为示例,你需要将其替换为你实际的上传接口地址。另外,你可以根据需要修改formData中的参数来传递额外的数据。
阅读全文