Rails ActiveStorage和AWS上载压缩映像

时间:2019-07-04 10:21:51

标签: ruby-on-rails ruby amazon-web-services rails-activestorage

我正在使用 ActiveStorage aws-sdk-s3 将图像上传到AWS。目前,我正在使用 mini_magick gem通过类似

的方式在视图中提供图像

image.variant(resize: '700x300')

可将图像尺寸调整为700x300像素。

我想在上传时压缩图像,说初始图像是4MB,我想将其压缩到250kb左右,然后像其他网站一样上传。上载时会占用AWS空间并增加存储成本。我该如何实现?谢谢。

1 个答案:

答案 0 :(得分:2)

您可以通过在使用ActiveStorage存储图像之前对其进行预处理来实现此目的。您可以使用imagemagick进行操作。

但是,由于AWS定价是如何工作的,我想说存储是一个最小的问题,您可以找到定价here。如您所见,1GB甚至不到3美分,很可能由于经常发生的转移而产生了更高的成本,但是如果您想省钱,就可以“转移”较低分辨率的图像,并且永远不会真正显示“原始”文件。