我正在使用s3_direct_upload将图像从我的rails应用程序直接上传到S3存储桶。这一切都运行正常,但是现在我想在上传后调整图像大小,创建缩略图和各种其他版本。
我能想到的方法是使用从s3_direct_upload发回的URL然后在我的应用程序中在后台创建一个新对象,使用RMagick进行处理,然后将这些版本重新上载到S3。但是,这种方法感觉初始上传变得有点多余。
对此有任何建议或更好的方法将不胜感激。
答案 0 :(得分:0)
更新了答案
您在我的原始答案的评论中提到您尝试过CarrierWave。但是......你试过CarrierWaveDirect吗?我自己没有使用它,但似乎使用熟悉的CarrierWave API执行相同的S3直接上传。
原始弃用答案
您可能希望查看Paperclip或Dragonfly。它们每个都支持将图像上传到S3(或其他云存储提供商),还提供操作图像的功能。这两个解决方案以不同的方式处理操作 - Paperclip在上传时执行缩略图,而Dragonfly在运行时执行缩略图 - 但要么应该满足您的需求。