ruby-on-rails - 如何使用 Rails 和 Active Storage 实现 AWS S3 分段上传?

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

我使用带有 multiple:true 选项的 vanilla 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。

最佳答案

如果有人正在寻找这方面的答案。从 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

关于ruby-on-rails - 如何使用 Rails 和 Active Storage 实现 AWS S3 分段上传?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56956632/

相关文章:

ruby-on-rails - Rspec 正在将属性视为方法

ruby-on-rails - app.json 部署后脚本是否会在生产环境上运行以及审核应用程序?

node.js - 如何忽略长时间执行的 AWS Lambda 超时限制 300 秒?

ruby-on-rails - 您可以在跟随者数据库上运行 heroku 控制台吗?

ruby-on-rails - 是否可以让数据库事务跨越 Rails 中的多个请求?

csv - 如何处理 .csv 输入以在 Tensorflow Serving 批量转换中使用?

php - 无法从 PHP 中的大文件的 Img2Json API 获取 JSON 数据

php - http从服务器到服务器传输文件

java - 通过url上传文件

javascript - 如何使用 Javascript 将上传的音频转换为 Blob?