【问题标题】:Can I store files of different types on one paperclip attachment field?我可以在一个回形针附件字段中存储不同类型的文件吗?
【发布时间】:2013-03-12 18:29:52
【问题描述】:

我有一个接受照片或视频的模型。它工作正常,但我认为它正在赶上验证。

对于照片,我有这个:

has_attached_file :content, styles: { thumb: '275x185#' }

效果很好,但是用视频保存一些东西会产生:

Validation failed: Content Paperclip::Errors::NotIdentifiedByImageMagickError, Content Paperclip::Errors::NotIdentifiedByImageMagickError

我认为这是因为它试图调整视频的尺寸。是否可以只为图像内容定义拇指大小,但在视频内容时忽略它?还是我必须制作两个不同的字段,一张照片一个视频,并在我的数据库中使用 nil?

【问题讨论】:

标签: ruby-on-rails paperclip


【解决方案1】:

styles 可以被赋予一个 lambda 来执行条件处理:

has_attached_file :content, styles: lambda do |a|
  if ['image/jpeg', 'image/jpg', 'image/gif', 'image/png'].include? a.instance.content_content_type
    { thumb: '275x185#'}
  end  
end

但是,这里用来检查content 是否为图像的方法可能不准确。

【讨论】:

    猜你喜欢
    • 2013-09-20
    • 2012-09-10
    • 2019-01-07
    • 1970-01-01
    • 1970-01-01
    • 2011-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多