0

有谁知道是否可以告诉回形针使用 _original 以外的文件来重新生成缩略图?

我们的 _original 文件不再可用,由于样式大小更改,我们希望重新生成缩略图。

我不知道从哪里开始看这个。

4

1 回答 1

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在重新处理所有现有图像并将其添加为原始图像时使用该样式。

希望有帮助。祝你好运。

于 2013-08-02T14:23:44.560 回答