0

gemを使用して、refileドキュメント (.pdf、.docx、.pptx など) をアップロードしました。アップロードは問題ありません。を使用するattachemnt_urlと、 のようなものが生成されます/attachments/...234jksdf2.../document。をクリックするlink_toと、拡張子なしでドキュメントがダウンロードされます。

このように動作させるために何が起こっていますか?ファイルの種類を正常に戻すにはどうすればよいですか?

4

2 に答える 2

1

私はまったく同じ問題に対処しようとしていました.これは私が試した1つのアプローチです:

content_typeRefile を使用すると、https://github.com/refile/refile#additional-metadataなどの追加のメタデータを保存できます。"image/png"結果のファイル コンテンツ タイプは、またはのような形式で保存されます"application/pdf"

次に、次のようなものを適用できます

link_to "Download file", attachment_url(@document, :file, format: @document.file_extension)

それによって

in document.rb

def file_extension
    file_content_type.split("/").last.to_sym
end

唯一の問題は、ファイルが自動的にダウンロードされず、ファイルをダウンロードできる新しいページで開かれることです。より良い代替手段をまだ探しています!

于 2016-04-29T04:18:59.953 に答える
0

これが私にとって正しい解決策になりました。

link_to "Download file", attachment_url(@document, :file, format: @document.file_extension)

def file_extension 
    require 'rack/mime'   
    Rack::Mime::MIME_TYPES.invert[document_content_type].split('.').last 
end
于 2016-05-11T14:34:55.773 に答える