2016-04-27 3 views
0

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

このように動作させるにはどうしたのですか?ファイルタイプの健全性を回復するにはどうすればよいですか? https://github.com/refile/refile#additional-metadata

整頓は、あなたがそのようなcontent_typeとして追加のメタデータを保存することができます:私は正確に同じ問題に対処しようとしていた

答えて

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 
1

、これは私が試した一つのアプローチです。結果のファイルコンテンツタイプは、"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 

のようなものを適用することができますファイルをダウンロードしてください。もっと良い選択肢を探しています!

+0

明日できるだけ早くみます。解決策を見つけたら更新してください! –

+0

これはもっと近いですが、私は 'attachment_url'からかなり奇妙なURLを取得しています。 –

+0

URLとは何ですか、正確に返されるものは何ですか? –

関連する問題