问题描述
我发现使用 React Native 将图像上传到 Amazon S3 时有一个奇怪的问题。我能够创建正确的 IAM、身份池、用户池和 Amazon S3 存储桶,并且图像上传工作了几个月。突然之间,它在上周内停止工作。我仍然可以下载存储桶中的现有图像,但无法获取任何新图像。我得到的错误看起来像:
[ERROR] 49:32.334 axios-http-handler Error: Request Failed with status code 400
[WARN] 49:32.345 AWSS3Provider - error uploading Error: Request Failed with status code 400
我遵循了此处的文档 - https://docs.amplify.aws/lib/storage/upload/q/platform/js#react-native-uploads
我在具有类似配置的网络应用程序上运行良好。我注意到的一件事是,当我向存储添加进度回调时,如下所示:
await Storage.put(fileName,blob,{
contentType: 'image/jpeg',progressCallback(progress) {
console.log('Progress is: ' progress);
console.log(`Uploaded: ${progress.loaded}/${progress.total}`);
},});
对象控制台在 Progress is:
后注销,在移动应用上显示属性 isTrusted: false
,在网络应用上显示 isTrusted: true
。
有人对此有什么想法吗?
更新: 我能够通过使用这个插件让它工作 https://github.com/theyeshu/react-native-s3-upload
但是,它要求我将 accessKey 和 secretKey 包含到我的亚马逊用户中,所以我并不那么激动。我希望有一种方法可以代替登录用户传递凭据
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)