直接上传到S3并调整图像大小

3
我正在使用 s3_direct_upload 将Rails应用程序中的图像直接上传到S3存储桶。一切都正常工作,但是我现在希望上传后调整图像大小,创建缩略图和其他不同版本。
我能想到的方法是使用从s3_direct_upload返回的URL在后台创建一个新对象,在使用RMagick进行处理,然后重新上传这些版本到S3。但是,这种方法感觉初始上传有点冗余。
如果您有关于此或更好方法的任何建议,将不胜感激。
1个回答

0

更新答案

你在我的原始答案的评论中提到你尝试过CarrierWave。但是...你有尝试过CarrierWaveDirect吗?我自己没有使用过,但它似乎可以实现与CarrierWave相同的S3直接上传功能,并且具备熟悉的API。


原始弃用答案

你可能想要研究一下PaperclipDragonfly。它们都支持将图像上传到S3(或其他云存储提供商),并提供操作图像的功能。这两种解决方案以不同的方式处理操作--Paperclip在上传时执行缩略图,而Dragonfly在运行时执行缩略图--但任何一种都应该满足你的需求。


我曾经使用过Carrierwave,但问题是如果用户上传了多张图片,它会占用应用程序并触发超时。我预计使用一个图像库来处理第一个s3上传的URL,以创建它的许多新版本。 - idrysdale
啊,我现在明白问题了。嗯,我相信我以前用过Dragonfly处理过这种情况。我只需要找到那个项目。我找到它后会修改我的答案的。 ;) - Daniel Wright
我很想知道是否有人找到了解决方案。 - Jason Galuten

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接