【问题标题】:Rails ActiveStorage and AWS compressing image on uploadRails ActiveStorage 和 AWS 在上传时压缩图像
【发布时间】:2019-07-04 10:21:51
【问题描述】:

我正在使用 ActiveStorage 和 aws-sdk-s3 将图像上传到 AWS。目前我正在使用 mini_magick gem 通过使用类似的东西在视图中提供图像

image.variant(resize: '700x300')

将图像大小调整为 700x300 像素。

我想在上传时压缩图像,说初始图像是 4MB,我想将它压缩到 250kb 并像其他网站一样上传。由于上传完整大小会占用 AWS 空间并增加存储成本。我怎样才能实现它?谢谢。

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 这种情况下的交易是什么意思?
    • 传输的数据。每次用户请求图片时,亚马逊都会向您收费
    • @Waclock 你能提供一个传输低分辨率图像的例子吗?
    • @Nick 我认为 Waclock 是指调用 .variant 所以总是会传输较低的分辨率。不过我不确定。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-04
    • 1970-01-01
    • 2016-09-11
    • 2018-02-25
    • 2021-10-06
    • 2020-02-16
    • 1970-01-01
    相关资源
    最近更新 更多