使用refile
gem,我已經上傳了文檔(.pdf,.docx,.pptx等)。上傳沒問題。當我使用attachemnt_url
時,它會生成類似/attachments/...234jksdf2.../document
的東西。當我點擊link_to
時,它會下載沒有擴展名的文檔。Rails:重新下載文檔
發生了什麼事情使它以這種方式運作?我該如何恢復我的文件類型完整性?
使用refile
gem,我已經上傳了文檔(.pdf,.docx,.pptx等)。上傳沒問題。當我使用attachemnt_url
時,它會生成類似/attachments/...234jksdf2.../document
的東西。當我點擊link_to
時,它會下載沒有擴展名的文檔。Rails:重新下載文檔
發生了什麼事情使它以這種方式運作?我該如何恢復我的文件類型完整性?
這就是最終成爲我的正確解決方案。
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
我試圖解決這一確切同樣的問題,這是一個方法我試過:
重新提交可以讓你額外的元數據保存如content_type
: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
唯一的問題是,這並不自動下載文件,而是打開它在一個新的頁面,您可以然後下載該文件。仍在尋找更好的替代品!
我會盡快嘗試明天。如果您找到解決方案,請更新! –
這更接近,但我得到'attachment_url'中的一個非常奇怪的URL。 –
什麼是網址和什麼是完全返回? –