我正在使用carrierwave上传和下载文件。 我可以直接下载所有文件。但是对于pdf文件,当我点击下载时,它会重定向到要求打开,下载和等字段的新页面。 有没有办法直接下载pdf文件? (这是我的客户要求)
我的控制器:
def show
@invoice_detail = InvoiceDetail.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @invoice_detail }
format.pdf { render :layout => false }
end
end
attachment_uploader.rb:
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
def extension_white_list
%w(xlsx pdf doc htm html docx png jpg jpeg xls)
end
def filename
"#{model.invoice_number}.#{file.extension}" if original_filename.present?
end
show.html.erb:
<%= link_to 'download file', invoice_details.attachment_url %>
答案 0 :(得分:1)
在show.html.erb中使用以下行
<%= link_to 'download file', invoice_details.attachment_url, download: invoice_details.attachment_url, target: "_blank" %>
以上仅适用于HTML 5.更多信息http://www.w3schools.com/jsref/prop_anchor_download.asp
修改强> 如果要删除打开/下载提示,则不可能。它是浏览器的配置。