【问题标题】:how to display uploaded pdf/text_files/videos using mongoid-paperclip如何使用 mongoid-paperclip 显示上传的 pdf/text_files/videos
【发布时间】:2014-03-07 22:38:02
【问题描述】:

我正在使用 mongoid-paperclip gem 上传文件。我能够显示我上传的图像。但是如何显示 pdf/视频。

请帮我解决。

这是图像模型。

Class Image
  has_mongoid_attached_file :logo
  validates_attachment :logo, :content_type => [ "application/pdf"]
  validates_attachment_content_type :logo, :content_type => ["image/jpg", "image/jpeg", "image/png"]

  field :logo
end

查看文件:

<% @images.each do |image| %>
<%=  image_tag(image.logo.url(:original)) %>
<% end %>

提前致谢。

【问题讨论】:

  • 我也遇到了同样的问题..请上传日志..

标签: mongodb ruby-on-rails-4 mongoid


【解决方案1】:

替换

  validates_attachment :logo, :content_type => [ "application/pdf"]
  validates_attachment_content_type :logo, :content_type => ["image/jpg", "image/jpeg", "image/png"]

  validates_attachment_content_type :logo, :content_type => ["image/jpg", "image/jpeg", "image/png", "application/pdf"]

无需单独验证,因为您正在验证相同的 logo 字段。

我假设你已经安装了GhostScript(brew install gs 如果使用 Mac)。这是使用Paperclip 上传pdf 的要求。如果没有,则先安装它并重新启动rails服务器。

在你看来,添加以下代码:

<% @images.each do |image| %>
<% if image.logo.image_content_type == 'application/pdf' %>
   <iframe src=<%= image.logo.url(:original) %> frameborder="0"></iframe>
<% else %>
    <%=  image_tag(image.logo.url(:original)) %>
<% end %>
<% end %>

iframe 是一种内联框架机制,用于在当前 HTML 中嵌入另一个文档。 以上代码使用环境进行测试:Ruby 2.1.0、Rails 4.0.2、Mac OS Mavericks、Paperclip 3.5.3

编辑

查看paperclip-ffmpeg gem,它用于通过 ffmpeg 向 Paperclip 添加视频处理。确保您的机器上安装了FFMPEG

【讨论】:

  • 我试过了,现在我可以显示 pdf。谢谢你,基尔蒂。我还有一个疑问,如何显示视频?你能帮我吗?
  • 您是否按照 gem 的“要求”部分中的说明完成了配置。详情请参阅:github.com/owahab/paperclip-ffmpeg
  • 请帮助我如何查看上传的文本文件/pdf和视频。
【解决方案2】:

将此添加到您的模型中

has_attached_file :logo,
                :url  => "/assets/products/:id/:style/:basename.:extension",
                :path =>  ":rails_root/public/assets/products/:id/:style/:basename.:extension"

然后在视图中

    <p>
     <%= link_to 'My PDF', @variable.logo.url %>
   </p>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-25
    • 1970-01-01
    相关资源
    最近更新 更多