1

我有一个能够上传多种类型文件的 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 没有直接链接到具有显式扩展名的文件名,浏览器不确定如何处理文件(至少我认为这就是它不知道如何处理文件的原因)。

如何链接到这些已上传的文件,以便浏览器知道如何处理 excel、word、pdf 等文件。

4

1 回答 1

1

最简单的方法是在 Document 模型中添加一个 document_name 列 - 然后 url 将具有文件扩展名。

(尽管已经说过,无论如何都应该正确设置 Content-Type ,所以不确定浏览器为什么会出现问题)

于 2014-07-29T09:31:10.593 回答