【问题标题】:AWS Amplify Storage | Upload large fileAWS 放大存储 |上传大文件
【发布时间】:2021-08-26 10:34:49
【问题描述】:

使用 AWS Amplify Storage,将文件上传到 AWS S3 应该很简单:

Storage.put(key, blob, options)

上述方法适用于较小的文件,(不超过 4MB 左右)。

上传任何更大的东西,例如。一个 25MB 的视频,不起作用:Storage 只是冻结(应用程序不会冻结,只有 Storage)。不返回错误。

问题:如何使用 AWS Amplify Storage 上传较大的文件?

旁注:所描述的行为同时出现在 Android 和 iOS 上。

【问题讨论】:

    标签: amazon-web-services amazon-s3 aws-amplify


    【解决方案1】:

    【讨论】:

    • 看起来像另一个“隐藏”的 AWS Amplify 错误。那么,正确的答案是什么?迁移到更新的 Amplify 版本?
    • 我已经使用最新版本的 Amplify(在撰写本文时为 7.6.5)测试了超过 100mb 的文件,它可以正常工作
    • “当我们使用旧版本的 aws-amplify”:“^3.1.1”时,出现了像您提到的问题(问题的作者)。”
    【解决方案2】:

    更新后

    "aws-amplify": "ˆ4.3.11",
    "aws-amplify-react-native": "^6.0.2"
    

    超过 100MB 的上传不再冻结 UI + 我们还迁移到 resumable uploads。当我们使用旧版本的 aws-amplify": "^3.1.1" 时,出现了您提到的问题。

    以下是 2021 年 12 月针对上述修复的拉取请求: https://github.com/aws-amplify/amplify-js/pull/8336

    所以解决方案真的是升级 AWS Amplify 库。

    不过,这种方法也适用于 iOS在 Android 上上传大型媒体文件会导致调用 fetch 时出现网络错误(作为调用 Storage.put 方法之前的必需步骤)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-17
      • 1970-01-01
      • 2021-10-06
      • 2015-06-16
      • 2020-05-20
      • 2018-04-12
      • 2021-01-09
      • 2018-10-10
      相关资源
      最近更新 更多