背景:后处理S3资产与回形针
我已经实现用户定义的裁剪图像上传大致为每Ryan Bates Railscast #182。
设置为:file
存储方法时有效,但设置为:s3
时无效。在添加中间裁剪步骤之前,S3存储工作正常。
从服务器日志,它出现在本地寻找源文件:由这点
[paperclip] An error was received while processing: #<Paperclip::Errors::NotIdentifiedByImageMagickError: /profiles/pictures/000/001/543/original/headshot.jpg is not recognized by the 'identify' command.>
存在此文件在S3上,但不在本地,因为上载被裁剪前处理(以及之后)。
我的问题:
我怎样才能把文件下来从S3到本地服务器的第二工序之前?
N.B.我已经看过其他答案。
Paperclip looking for file locally for reprocessing when using S3 - 似乎相关,但唯一的答案是降低回形针。我做不到,除此之外,这个答案既没有被提出也没有被接受。
Error reprocessing in Paperclip 2.3.5 - 这是关于Paperclip的旧版本。
其他的想法:
它发生,我认为另一个方法是将文件存储在本地,直到它已被裁剪,然后用DelayedJob或类似的东西把它上传到S3以后。虽然这会有更多的工作,所以我现在宁愿避免它。
嗨,我实际上已经把一切都转移到蜻蜓前段时间了!但在git中,原始代码是:'has_attached_file:picture,:styles => {...},:default_url =>'missing_:class_:attachment/missing_:style.png',:storage =>:s3, :s3_credentials => S3_CONFIG' – Leo
嗯,快速浏览一下Git的回形针给了我这些链接。 本文描述了回形针设置定义的更改: https:// github。com/thoughtbot/paperclip/issues/1405 这篇文章描述了一个类似的问题,但是来自这篇原文的几年后,仍然是开放的。 https://github.com/thoughtbot/paperclip/issues/2217 这就是说,我相信我已经得到我的图像重新处理(从S3下拉并重新上传),所以我会尝试按照这个教程,构建项目并更新我的答案。 –