uniapp 批量上传大文件到OSS,具体的代码
时间: 2024-10-13 16:09:19 浏览: 22
上传文件到阿里云OSS-uniapp.zip
5星 · 资源好评率100%
在uni-app中,阿里云OSS(Object Storage Service)支持分块上传大文件,以处理超过单次请求限制的大文件。以下是一个基本的示例代码,展示了如何使用UniCloud SDK进行批量上传大文件:
```js
import { uploadFile } from '@dcloudio/uni-cloud-sdk';
async function batchUploadToOSS(fileList) {
const oss = uni.cloud.oss({
bucket: 'your_bucket_name', // 替换为你的bucket名称
region: 'your_region', // 替换为你的region
internal: true,
});
for (const file of fileList) {
const options = {
progressCallback: (progressEvent) => {
console.log(`Uploading... ${Math.round(progressEvent.loaded * 100 / progressEvent.total)}%`);
},
splitSize: 5 * 1024 * 1024, // 每个分块大小,默认5MB
};
await oss.multipartUpload(file.path, 'your_object_key', options).then((res) => {
console.log('Upload success:', res);
}).catch((err) => {
console.error('Upload failed:', err.message);
});
}
}
// 使用方法
const files = []; // 这里应该是你需要上传的文件列表,例如从相册选取
batchUploadToOSS(files);
```
在这个代码中,`multipartUpload`方法用于分块上传,`splitSize`参数指定了每个分块的大小。你需要替换`your_bucket_name`、`your_region`和`your_object_key`为你的实际OSS配置。
阅读全文