ruby-on-rails - ActionText 的非图像附件问题

标签 ruby-on-rails file ruby-on-rails-6 actiontext

我正在尝试处理上传不是带有操作文本的图像的文件的问题,并使它们对查看帖子的用户起作用。例如。如果在创建某些内容时上传了 PDF,用户应该可以下载。

现在我的图片上传和显示都很好,但是如果我上传了 PDF,它会显示文件名和大小:

Bla.pdf 635 KB。看起来这是可点击的和不可点击的:

PDF file not downloadable

下面的 html 是:

<action-text-attachment sgid=”BAh7CEkiCGdpZAY6BkVUSSI4Z2lkOi8vdGFhYWxrLWVkZ2UvQWN0aXZlU3RvcmFnZTo6QmxvYi82OD9leHBpcmVzX2luBjsAVEkiDHB1cnBvc2UGOwBUSSIPYXR0YWNoYWJsZQY7AFRJIg9leHBpcmVzX2F0BjsAVDA= — 9fc1638e6a6bca562cbff92f1627dfcf9e74f198" content-type=”application/pdf” url="http://localhost:3000/rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBTUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--5da8c8c82a642f3ed3f0c158a2560a7a41b974c7/Bla.pdf" filename=”Bla.pdf” filesize=”649993"><figure class=”attachment attachment — file attachment — pdf”>
<figcaption class=”attachment__caption”>
<span class=”attachment__name”>Bla.pdf</span>
<span class=”attachment__size”>635 KB</span>
</figcaption>
</figure></action-text-attachment>

有什么办法可以下载吗?

谢谢

最佳答案

你需要改变

app/views/active_storage/blobs/_blob.html.erb

喜欢这个

<figure class="attachment attachment--<%= blob.representable? ? "preview" : "file" %> attachment--<%= blob.filename.extension %>">
  <% if blob.representable? %>
    <%= image_tag blob.representation(resize_to_limit: local_assigns[:in_gallery] ? [ 800, 600 ] : [ 1024, 768 ]) %>

  <figcaption class="attachment__caption">
    <% if caption = blob.try(:caption) %>
      <%= caption %>
    <% else %>
      <span class="attachment__name"><%= blob.filename %></span>
      <span class="attachment__size"><%= number_to_human_size blob.byte_size %></span>
    <% end %>
  </figcaption>
  <% else %>
    <%= link_to blob.filename, rails_blob_path(blob) %>
  <% end %>
</figure>

关于ruby-on-rails - ActionText 的非图像附件问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59756671/

相关文章:

javascript - Rails 3 CSRF token 在 POST 请求之前发生更改

ruby-on-rails - libv8-3.16.14.3 安装失败 - Rails 4.1.8

java - 在 Android 中使用外部类从文件中写入/读取?

ruby-on-rails - 在 Rails 6.1 : "ActiveRecord::RecordNotSaved :Failed to remove the existing associated page." 中

ruby-on-rails - Rails 6中有许多默认路由?

ruby-on-rails - 如何忽略 Zeitwerk for Rails 6 中的文件夹?

ruby-on-rails - ruby on rails 上的页面缓存和 i18n

ruby-on-rails - Rails Elastic Beanstalk nginx 301 重定向

python - 如何对特定列中的数字求和?

c++ - 决定它是否是文件的非确定性行为?