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