【问题标题】:ROR: Paperclip stylesROR:回形针样式
【发布时间】:2010-10-06 20:15:49
【问题描述】:

我有一个模型可以处理我所有不同文件类型的上传。

  • 如何创建与 :basename 同名的样式,以便图像和非图像文件的 url 相同?

【问题讨论】:

    标签: ruby-on-rails plugins resize paperclip thumbnails


    【解决方案1】:

    试试这个

    class Upload < ActiveRecord::Base
      has_attached_file :photo, 
          :styles => {
            :thumb => {"115x70>"},
            :orig => {"300x168>"} }
            ..
    

    只要您指定两种不同的样式,它就会创建与您的 Upload 对象关联的两种不同的样式。

    然后您可以通过以下方式调用它们:

    = image_tag @upload.photo.url(:thumb)
    = image_tag @upload.photo.url(:orig)
    

    【讨论】:

    • 编辑:胖手指最后的评论。我有“has_attached_file :attached”,它可以是任何类型的文件,其方法可以检查它是否是图像。我可以简单地使用 after_create 吗?我希望每个拥有并上传调用缩略图的模型都被处理,除非它不是照片。
    • 如果不是因为我在同一个模型上有多种文件类型,这会很棒。
    【解决方案2】:

    您将需要创建一个自定义处理器,然后在该处理器内您可以调用图像的 IM 方法并忽略其余部分。

    我没有对此进行太多研究,但此链接可能会让您朝着正确的方向前进:http://thewebfellas.com/blog/2009/2/22/video-thumbnails-with-ffmpeg-and-paperclip

    【讨论】:

      【解决方案3】:

      嗯?

      http://rdoc.info/github/thoughtbot/paperclip/master/Paperclip/ClassMethods#has_attached_file-instance_method

      缩略图将在以下时间创建 新文件已分配,但他们 在调用 save 之前不会被保存 记录在案。同样,如果 属性设置为 nil 被调用 它,附件不会被删除 直到调用 save 为止。见 回形针::附件文档 了解更多详情。

      【讨论】:

      • 我需要它将图像保存到具有特定命名方案的特定路径 :class_files/:id/:style.extension 但对非图像使用 /:class_files/:id/:basename.:extension .但是它们都需要通过 has_attached_file 在模型上具有相同的属性。
      【解决方案4】:

      我知道这是一个简单的问题,但你确定你正确安装了 ImageMagick 吗?我遇到的大多数问题都是因为 ImageMagick 没有正确编译/安装而发生的。如果您查看日志,Paperclip 会一直嗡嗡作响,然后默默地失败。

      【讨论】:

      • 是的!我可以制作大拇指,但问题是当它遇到不是图像的文件并尝试制作大拇指时。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-24
      • 2011-01-02
      • 1970-01-01
      相关资源
      最近更新 更多