LoginSignup
1
0

More than 3 years have passed since last update.

Rails でファイルを強制ダウンロードさせたい

Posted at

シンプルなんだけど、調べると意外に出てこなかったのでメモ。

Rails でファイル(PDFなど)を強制的にダウンロードさせる方法

send_file path_to_file, type: 'application/force-download'

これでできた🙆‍♀️

説明

  • Rails からファイル送出するには、基本 send_file を使う
  • この時レスポンスヘッダの Content-Type には、
    ファイルに応じた Mime タイプ( application/pdf 等)が自動的にセットされる
    image.png

  • これではブラウザによって挙動が変わってしまう・・・(ダウンロードされたり、ブラウザで直接開いたり)

  • 強制ダウンロードさせるため、 Content-Typeapplication/force-download をセットしたい

  • send_file のオプションとして type が渡せるから、そこに書いてみよう!
    image.png
    application/force-download になった!

send_file では Content-Type 触れないのかと思って無駄に調べまくってしまった・・・
まずはドキュメントを読もう😌

send_file
https://apidock.com/rails/v6.0.0/ActionController/DataStreaming/send_file

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0