首页 > 解决方案 > 使用原始文件扩展名将 ActiveStorage 上传到 S3

问题描述

我正在通过 Rails ActiveStorage 将 APK 文件上传到 Amazon S3。上传工作正常,但是当我尝试检索文件并下载它们时,我看到文件扩展名和内容类型已更改。

APK 文件以 ZIP 文件的形式下载。

我知道 ActiveStorage 确实可以处理文件并识别它们的内容类型,但就我而言,它根本无法识别。

我需要 ActiveStorage 不处理扩展名或内容类型,只需将文件移动到云中。

我已将 ActiveStorage 配置为使用 S3 并通过以下方式附加文件:

instance.attach(io: File.open('VALID_FILE_PATH_HERE'), filename: 'filename.apk')

我也尝试提供

content_type: "application/vnd.android.package-archive"

但它并没有改变任何东西,当我追加

identify: false

它抛出一个异常,说用于识别的意外键。

有没有办法让 ActiveStorage 简单地移动文件?

标签: ruby-on-railsrubyamazon-s3rails-activestorage

解决方案


推荐阅读