我使用的是最新版本的aws/amplifier 3.3.7
这是代码
const s3Upload = async (file, id) => {
const filename = file.name.replace(/s/g, '')
await Storage.vault.put(filename, file, {
contentType: file.type
})
}
当我尝试上传小文件(1Mb zip文件(时,它运行良好,但当我尝试上载更大的文件(即6Mb zip文件,我会收到错误:
AWSS3ProviderManagedUpload - error happened while finishing the upload. Cancelling the multipart upload Error: Request failed with status code 40
任何人都面临这个问题
我遇到过同样的问题,大约5MB后,Amplify使用多部分上传,但它失败了,并出现了同样的错误。
对我来说,解决办法是https://github.com/aws-amplify/amplify-js/issues/61
我在S3 bucket的CORS设置中将ETag添加到ExposeHeaders中,之后上传一个10MB的文件效果很好。