我正在尝试上传来自帖子的完整尺寸图片,然后缩略图并将缩略图放在S3上。但是,我遇到了一个奇怪的问题,我的调整大小代码似乎影响了完整大小的图像,即使S3应该在任何调整大小之前存储它。这是一段代码说明......
AWS::S3::S3Object.store(fullPath, open(params[:photo][:tempfile]), BS.config[:service][:aws][:bucket], :access => :public_read)
thumbnail = MiniMagick::Image.open(params[:photo][:tempfile].path)
thumbnail.combine_options do |c|
c.resize('200x200^')
c.gravity('center')
c.crop('200x200+0+0')
end
AWS::S3::S3Object.store(thumbnailPath, thumbnail.to_blob, BS.config[:service][:aws][:bucket], :access => :public_read)
答案 0 :(得分:0)
即使在调整大小之前调用store
,也无法保证调整大小的代码在存储代码完成之前没有开始,并且由于涉及网络延迟而且docs for S3Object具体假设较大的文件(其中的图像文件肯定会被分类)将以块的形式发送,很可能你正在修改一个尚未发送的文件。
无论是什么原因,简单的答案是复制文件并调整大小。