2016-03-21 9 views
1

アップルのユニバーサルリンク用に特定のコンテンツタイプ(application/pkcs7-mime)のファイルを送信する必要があります。 私はレールからsend_file関数を使用し、:typeをパラメータとして追加します。 ですが、タイプは常にtext/plainです。ここでsend_fileでコンテンツタイプを設定する

は私のコントローラです:

class AppleController < ApplicationController 
    def download_app_site_association 
    send_file "#{Rails.root}/public/apple-app-site-association", {:filename => "apple-app-site-association", :type => "application/pkcs7-mime" , :x_sendfile => true} 
    end 
end 

私もこのようにそれを追加しようとしました:

send_file "#{Rails.root}/public/apple-app-site-association", :filename => "apple-app-site-association", :type => "application/pkcs7-mime" , :x_sendfile => true 

と、このようにそれを手動で設定する:誰も私を説明することができ

response.headers["Content-type"] = "application/pkcs7-mime" 
send_file "#{Rails.root}/public/apple-app-site-association", :filename => "apple-app-site-association", :x_sendfile => true 

なぜこれはうまくいかないのですか?

答えて

1

解決策が見つかりました。 問題は、私はmywebsite.com/apple-app-site-associationを取得しようとしたとき、ルータは#{Rails.root}/public/内のファイルのために最初に検索した後、私のファイルと私のルートが同じ名前を持っていたとしてroutes.rb

に経路を探索ということでした、apple_controllerは達していませんでした。

私はファイル名を変更しました。

0

あなたは

http://api.rubyonrails.org/classes/ActionController/DataStreaming.html#method-i-send_file

UPDATEを設定できるパラメータがあります:MIMEタイプが設定/初期化子/ mime_types.rbの下に登録されていますか?

+0

はい、ありますが、私の質問に書かれているように、それは私のためには機能しません。 – Shrolox

+0

いいえ、それは登録されていませんが、私は自分のコードで問題を発見し、答えを投稿します。とにかく助けてくださって – Shrolox

関連する問題