我正在使用Paperclip gem调整上传照片的大小并将其存储在亚马逊S3上。在上传请求的生命周期中,我需要访问已调整大小的照片以传递给另一个Web服务。
我怀疑在将照片上传到s3之前,imagemagik在某处创建了一个临时文件。我怎样才能访问它。
答案 0 :(得分:13)
根据Paperclip readme,在处理之后和处理之前会调用一些回调。
每个附件:
仅适用于特定附件:
我认为在您的情况下,您应该使用其中一个after
回调来获取已调整大小的照片。然后,您应该能够使用queued_for_write
访问该文件。例如:
class MyModel < ActiveRecord::Base
has_attached_file :photo, :styles => { :small => "300x300>" }
after_post_process :send_photo
private
def send_photo
path = photo.queued_for_write[:small].path
# upload the photo to the ws here
end
end