ケマルにthis answerを実装します。KemalでHTTP応答ヘッダーを設定する
私の現在の設定がapp/public/map.pdf
でpdfファイルを持っている、と私のメインの結晶ファイルに次のコード:
require "kemal"
#...
get "/map.pdf" do |env|
env.response.headers["Content-Type"] = "application/pdf"
env.response.headers["Content-Disposition"] = %(inline;filename="myfile.pdf")
end
Kemal.run
私はブラウザ(Firefoxの)でlocalhost:3000/map.pdf
を開いて、自分のコードをテストする場合、それはダウンロードするように要求されますファイル(私はそれを表示しようとしている間)。そして、次の中curl -I
結果:私はContent-Type: application/pdf
を見るために望んでいるだろう
HTTP/1.1 200 OK
Connection: keep-alive
X-Powered-By: Kemal
Content-Type: application/octet-stream
ETag: W/"1494983019"
Content-Length: 1170498
。
こんにちは! まず、私はhttp://stackoverflow.com/questions/20508788/do-i-need-content-type-application-octet-stream-for-file-download が参考になると思います。第二に、あなたの実際の質問は何ですか? –
私はちょうどあなたのコードを試して、それは働いた。サーバーを停止してアプリケーションを再度コンパイルしてもよろしいですか?再コンパイルせずに変更を加えても効果はありません。 – asterite