【问题标题】:Flutter 通过上传进度更快地将文件上传到 AWS s3
【发布时间】:2022-01-23 11:38:26
【问题描述】:

在使用 aws_s3_client 插件将一个或多个文件(即图像/视频)上传到 AWS s3 存储桶时遇到问题。

  1. 上传一个 10MB 的文件需要很长时间
  2. 无法跟踪上传进度百分比
  3. 无法选择一次上传多个文件(如果是同一个存储桶)
  4. 每次上传时,我们都必须验证 IM 用户的访问权限。 (因为为什么我们不能一次使用单个实例来验证并保持连接持久/保持活动直到应用程序关闭)

因此,我不熟悉 AWS 服务。因此,向我建议一种以更快的速度将文件或多个文件上传到 AWS s3 存储桶的最佳方法,具有上传进度百分比、一次上传多个文件和持久连接/Keep Alive 验证。

【问题讨论】:

    标签: amazon-web-services flutter dart amazon-s3


    【解决方案1】:

    对于 1 和 2,使用 managed uploads,它提供了一个事件来跟踪上传进度,并通过使用分段上传使上传更快。请注意,分段上传仅适用于大小在 5 MB 到 5 TB 之间的文件。

    对于 3,AWS S3 不允许在同一个存储桶中上传具有相同名称或键的文件。根据您的要求,您可以在存储桶中打开版本控制,这将保存同一文件的不同版本。

    对于 4,您可以生成和使用pre-signed URLs。预签名 URL 具有可配置的超时时间,您可以根据您希望链接可用于上传的时间长度进行调整。

    【讨论】:

      【解决方案2】:
      1. 使用分段上传。分段上传将文件快速上传到 S3。 https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html

      【讨论】:

        猜你喜欢
        • 2022-01-20
        • 1970-01-01
        • 1970-01-01
        • 2016-10-17
        • 1970-01-01
        • 2017-03-04
        • 1970-01-01
        • 2018-01-21
        • 1970-01-01
        相关资源
        最近更新 更多