如何使用Rails和Active Storage实施AWS S3分段上传?

时间:2019-07-09 16:06:16

标签: ruby-on-rails amazon-s3 file-upload rails-activestorage

我正在使用带有多个true选项的香草Rails Active Storage文件上传。文件存储在S3上。设置运行良好。但是,我认为对于很大的文件,实现分段上传以实现最佳速度和可靠性将是有益的。

我在这里找到了对AWS S3分段上传的描述:https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html

我还找到了特定于Ruby的页面:https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu-ruby-sdk.html

但是,我找不到有关如何在Rails和Active Storage中实现此功能的参考。

我想就如何最好地实现分段上传而不在可能的情况下删除Active Storage取得一些指导。

1 个答案:

答案 0 :(得分:0)

万一有人在寻找答案。从Rails 6.1开始,Active Storage将支持分段上传。 Active Storage直接上传会自动切换为大文件分段。无需更改设置。

您可以自定义大文件的阈值。默认值为100MB,您可以通过在Amazon设置下将其添加到storage.yml来更改默认值: 上载:     multipart_threshold:<%= 250.megabytes%>

参考:https://github.com/rails/rails/blob/master/activestorage/CHANGELOG.md