ruby-on-rails - ActiveStorage 如何在上传到 S3 之前转换图像?

我配置了事件存储以将 has_one_attached :image 上传到 Amazon S3。

product.image.attach(io: open(img_url), filename: "file.jpg")

但我想优化图像:压缩它们或转换为 .webp

我有mini-magick gem我可以用它来修改图像。

那么我可以在上传到亚马逊之前动态修改url中的图片吗?

或者我所能做的就是从 url 中保存图像,处理它然后执行 attach? (当我有数百万张图片时,它太慢了)

最佳答案

根据ActiveStorage,它支持转换,所以你可以尝试使用https://github.com/janko/image_processing使用 mini magick 或 libvips convert 方法在保存之前转换图像。或者至少那是我正在尝试做的 atm。 如果我设法做到了,我会把它贴在这里。 祝你好运

https://stackoverflow.com/questions/57164935/

相关文章:

java - CrudRepository delete 是否也删除了 Blob 字段的底层大对象

node.js - 如何在模块加载到 NodeJS 之前获取和使用 Secret Manager 值

spring-boot - 日志记录执行器健康调用,即使在排除时也是如此

javascript - 防止在 body 上滚动(Matter.js)

c# - Process.Start 无法正确运行批处理文件

swift - 如何使用 AVAudioEngine 在同一时间更改音调和速率

angular - ionic 4 : Ion-checkbox checked not updat

amazon-web-services - 使用 aws sts assume-role 配置 AW

reactjs - 使用重新选择选择器时无法提供/测试传奇

javascript - 使用 axios 向服务器发出请求会卡住 React Native 应用程