私はsend_fileSinatraアプリで使用しています:
get '/update/dl/:upd' do
filename ="/uploads/#{params[:upd]}"
send_file(filename, :filename => "t.cer", :type => "application/octet-stream")
end
公開されていないフォルダ/uploads/で、アプリディレクトリにあります。Chromeにアクセスしようとするとlocalhost:4567/update/dl/some_file、Firefoxのように404が返されます。ヘッダーが表示されると、404になります。しかし、Safariで試してみると、ファイルがダウンロードされます。だから私は私のコード(そしてSafariのコード)に何か問題があると思いますが、それはAppleに任せましょう:P。何が間違っている可能性がありますか?ありがとう!