加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何使用paperclip处理多种文件类型

发布时间:2020-12-17 03:38:07 所属栏目:百科 来源:网络整理
导读:如何使用单个回形针字段来处理不同的文件类型.例如,我有一个带有回形针方法的文件模型,该方法说: has_attached_file :file 此文件可以是图片,音频,视频或文档. 如果它是一张图片,我怎样才能使has_attached_file:文件能够以这种方式处理图片: has_attached
如何使用单个回形针字段来处理不同的文件类型.例如,我有一个带有回形针方法的文件模型,该方法说:

has_attached_file :file

此文件可以是图片,音频,视频或文档.

如果它是一张图片,我怎样才能使has_attached_file:文件能够以这种方式处理图片:

has_attached_file :file,styles: {thumb: "72x72#"}

然后,如果它是其他文档类型,它将在没有样式的情况下正常工作,因此我不必为不同的文件类型创建字段.

解决方法

处理条件样式的方法是使用 lambda来确定您正在处理的内容类型.我们之前使用早期版本的Rails / Paperclip完成了这项工作:

#app/models/attachment.rb
Class Attachment < ActiveRecord::Base
    has_attached_file :file,styles: lambda { |a| a.instance.is_image? ? {:small => "x200>",:medium => "x300>",:large => "x400>"} : {}}  

    validates_attachment_content_type :file,:content_type => [/Aimage/.*Z/,/Avideo/.*Z/]

    private

    def is_image?
        attachment.instance.attachment_content_type =~ %r(image)
    end
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读