这是我使用以下代码将多个文件上传到 s3 存储桶的代码rn-fetch-blob
:
pictureUris.map(async (picture, index) => {
s3.getSignedUrl(
'putObject',
{
Key: 'key',
Bucket: 'bucket',
Tagging: 'tag',
},
async (err, url) => {
if (url) {
RNFetchBlob.fetch(
'PUT',
url,
{
'x-amz-tagging': 'tag',
},
RNFetchBlob.wrap(`path-to-file`),
)
.then((res) => {
})
.catch((uploadErr) => {
});
}
if (err) {
console.log('SIGNED URL ERR', err);
}
},
);
})
当我尝试上传 20 个文件时,存储桶中只有 17 个可见。代码永远不会遇到catch
障碍,但有些文件没有上传。
(PS:我观察到如果上传数为30,则bucket中显示26个文件。如果上传数为20,则显示17个文件。如果上传数为10,则显示9个文件。我已经反复观察到这一点,但这很可能是巧合。)