我有一个可以上传多种类型文件的rails应用程序,现在我正在尝试创建一个向用户显示数据的页面。
我认为我有这个片段:
<% @case.documents.each do |doc| %>
<% if doc.is_image? %>
<%= image_tag doc.document.url %>
<% else %>
<%= link_to doc.filename, doc.document.url, target: '_blank' %>
<% end %>
<% end %>
为不是图像的文件生成这样的链接。
<a target="_blank" href="/media/W1siZiIsIjIwMTQvMDcvMjgvOHM3d21ubDBtc19maWxlIl1d?sha=0813902f">myFile.xlsx</a>
问题在于,由于href没有直接链接到具有显式扩展名的文件名,因此浏览器不确定如何处理该文件(至少我认为这就是为什么它没有&#39 ; t知道如何处理文件)。
如何链接这些已上传的文件,以便浏览器知道如何处理excel,word,pdf等文件。
答案 0 :(得分:1)
最简单的方法是将document_name列添加到Document模型中 - 然后url将具有文件扩展名。
(虽然已经说过,但是内容类型应该正确设置,所以不确定为什么浏览器有问题)