megutech

自身の備忘録として主にWEBサーバー周りの技術について投稿しています。

ActiveStorageの画像ファイルなどを、アンカー要素のdownload属性でダウンロードさせたい

ActiveStorageのservice_urldispositionオプションがデフォルトで:inlineなため、画像やpdfのアンカーにdownload属性をつけていても、ブラウザ上で開いてしまう。

これをダウンロードさせたい。

環境

Service Version
Ruby 2.7.2
Ruby on Rails 6.0.3.4
S3 -

対応

ダウンロードさせたいcontent_typeを config.active_storage.content_types_to_serve_as_binary に追加してあげればいいらしい。

y-yagi.hatenablog.com

別にどこに書いてもいいが、今回はサクッと config/application.rbに書いた。

config.active_storage.content_types_to_serve_as_binary += %w(image/png image/jpeg image/gif image/gif image/bmp application/pdf)

以上です。