有谁知道是否可以告诉回形针使用 _original 以外的文件来重新生成缩略图?
我们的 _original 文件不再可用,由于样式大小更改,我们希望重新生成缩略图。
我不知道从哪里开始看这个。
有谁知道是否可以告诉回形针使用 _original 以外的文件来重新生成缩略图?
我们的 _original 文件不再可用,由于样式大小更改,我们希望重新生成缩略图。
我不知道从哪里开始看这个。
好吧,我没有对此进行广泛的测试,但这样的事情应该可以工作。这是假设您的模型定义为:
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
在重新处理所有现有图像并将其添加为原始图像时使用该样式。
希望有帮助。祝你好运。