我想从我的 S3 容器中读取照片的几何形状。
当它在我的本地时,这有效:
def photo_geometry(style = :original)
@geometry ||= {}
@geometry[style] ||= Paperclip::Geometry.from_file photo.path(style)
end
但是当我将模型切换到 S3 时它似乎不起作用.. 有什么建议吗?
更大的故事是,我正在尝试编写一些代码,允许我从 S3 检索照片,允许用户裁剪它们,然后将它们重新上传回仍由回形针分配的 S3。
编辑:
这是返回的错误:
Paperclip::NotIdentifiedByImageMagickError: photos/199/orig/greatReads.png is not recognized by the 'identify' command.
from /Users/daniellevine/Sites/hq_channel/vendor/gems/thoughtbot-paperclip-2.3.1/lib/paperclip/geometry.rb:24:in `from_file'
from /Users/daniellevine/Sites/hq_channel/app/models/photo.rb:68:in `photo_geometry'
from (irb):1
最佳答案
如果您使用 S3 作为存储机制,则不能使用上面的几何方法(它假定为本地文件)。 Paperclip 可以使用 Paperclip::Geometry.from_file
从 S3 文件转换为本地 TempFile :
这是我更新的代码:
def photo_geometry(style = :original)
@geometry ||= {}
@geometry[style] ||= Paperclip::Geometry.from_file(photo.to_file(style))
end
关于ruby-on-rails - 回形针可以从 S3 存储桶中读取照片几何形状吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3160788/