如何告诉paperclip不保存原始文件?
如何在上传时告诉Paperclip不保存原始文件? 或者甚至更好,将文件的缩放版本存储为原始文件?
我相信你可以简单地定义一个样式:原始让回形针替换原来的那个尺寸。
:styles => { :original => '300x168>', :cropped_thumb => {:geometry => "115x70#", :jcrop => true}, ...}
Cris G的解决方案在大多数简单案例中都可能很好,但它有局限性。 考虑到:风格:原始Paperclip流程首先是其他所有,所以更新后:原始图像(现在小得多)将成为后续处理的来源。 因此,你被迫保持:最佳分辨率的原始风格。 由于您需要使用处理器裁剪图像,情况会变得更糟:这是您真正需要真正原始质量的情况。 )
所以我建议你有些原始(需要了解如何获得模型的每个附件)解决方案:
after_save :reprocess_attach private def reprocess_attach if self..present? && Pathname.new(self. .path).exist? self. .save File.unlink(self. .path) end end
它并不关心舞台背后的处理方式。 它只是杀死原始文件)
Paperclip默认保存原件,但我相信,如果您只是从迁移中删除它,那么它将不会尝试保存它。
我在模型上保存了缩放原件,以便用户以后可以编辑它们的图像。 我的模型看起来像这样:
:styles => { :cropped_thumb => {:geometry => "115x70#", :jcrop => true}, :resized_thumb => {:geometry => "115x70>"}, :deal => {:geometry => "64x56#"}, :cropped_large => {:geometry => "#{PHOTO_IMAGE_WIDTH}x#{PHOTO_IMAGE_HEIGHT}#", :jcrop => true}, :resized_large => {:geometry => "#{PHOTO_IMAGE_WIDTH}x#{PHOTO_IMAGE_HEIGHT}>"}, :orig => '300x168>', #this is the scaled original that I call later :cropped_orig => {:geometry => '300x168#', :jcrop => true}, :resized_orig => {:geometry => '300x168>'} }, :processors => [:jcropper]
- 在Windows上使用Rails3的IDE
- 显示或隐藏表单元素
- 有没有办法使用AREL进行自定义关联?
- Rails flash中的link_to()
- Rails如何使用SoundCloud歌曲URL获取SoundCloud轨道信息
- 耙太阳黑子:reindex耙子流产! RSolr :: Error :: Http – 404 Not Found
- 如何在Rails 3中生成带尾部斜杠的链接?
- 使用带远程的ajax的Ruby表单:true给出了ActionController :: InvalidAuthenticityToken错误。 经典提交没有
- 在tags / show.html.erb中显示post_tag_links