Rails API active_storage

时间:2018-11-01 01:17:45

标签: ruby-on-rails rails-activestorage

有没有一种方法可以在上传时创建图像的变体,并存储变体而不是整个图像。

例如。某用户上传了一张1000x1000的图片,当我在rails中收到该图片时,我想创建3个变体,分别是100x100、300x300和600x600,并将它们存储在S3中,然后可以通过执行类似post.image.thumbnail的操作来检索它们

每次请求图像时,我都必须从s3中检索完整尺寸的图像并即时对其进行处理,以将其提供给用户。

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找minimagick

将此添加到您的gemfile

gem 'mini_magick'

然后您可以使用minimagick方法转换图像

<%= image_tag user.avatar.variant(resize: "100x100") %>

here is the documentation for this