9
votes

I'm planning to upgrade Rails to 5.2 in one of my websites and introduce ActiveStorage, as of right now I use Paperclip with paperclip_optimizer. One of the negative sides is that I will lose the optimizer, when replacing paperclip with ActiveStorage. How can I implement automatically image optimization on user uploads in ActiveStorage?

3
What do you mean by image optimisation? Because activestorage supports all transformations that minimagick does, so you can easily resize, crop, remove metadata, change sampling, reduce quality, etc. It does not run on uploads, but you can either trigger it with a job or let the images be lazily generated when they are neededBreno Gazzola

3 Answers

2
votes

It's possible by creating a custom Variation. There is a good example here:

https://prograils.com/posts/rails-5-2-active-storage-new-approach-to-file-uploads

1
votes

If you are on AWS you can create Lambda function that can listen to an S3 bucket for uploads, and runs image optimization on the newly uploaded files.

0
votes

Active Storage doesn’t have built-in support for optimizing images on upload.