是否有人知道是否可以告诉paperclip使用_original以外的文件来重新生成缩略图?
我们的_原始文件已不再可用,我们希望因样式大小更改而重新生成缩略图。
我不确定从哪里开始看这个。
答案 0 :(得分:0)
好吧,我没有广泛测试这个,但这样的事情应该有用。这假设您的模型定义为:
class Image < ActiveRecord::Base
has_attached_file :attachment, styles: { small: "300x300>", large: "100x100>" }
end
这是一个使用open-uri
将URL视为文件流的脚本,因此您可以通过URL提取large
样式,更新模型,然后重新处理每个图像。
require 'open-uri'
Image.find_each do |image|
large_image = open(image.attachment.url(:large)) {|f| f.read }
image = large_image
image.reprocess!
end
同样,我只用这个进行了一些基本测试,我不是100%image =
任务需要的不仅仅是文件流,但我确实测试了一个图像,它似乎工作。它保留了所有现有图像数据,并在重新处理所有现有图像时使用large
样式并将其添加为原始图像。
希望有所帮助。祝你好运。