我有一个应用程序必须显示不同格式的文件。格式列表可能有限,但它们由不同的格式组成。它们可以是 .pdf、.docx、.odt、.png 等。
在我的控制器中,显示操作如下所示。“内容”是从包含不同格式文件的给定网站呈现的。
def show
send_data(content, :disposition => 'inline', :type => format_finder(params[:format]))
end
def format_finder(format)
formats={"pdf" => "application/pdf",
"docx" => "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"png" => "image/png",
"html" => "text/html",
"odt" => "application/vnd.oasis.opendocument.text",
"ods" => "application/vnd.oasis.opendocument.spreadsheet",
"jpg" => 'image/jpeg'}
if formats.has_key?(format)
return formats[format]
end
end
问题是浏览器(chrome)正在下载文件而不是显示它们,PDF除外。我该如何解决这个问题?Firefox 正在下载所有文件,即使它是 PDF 文件。