[RUBY] Rails Active Storage réduit les images avant le téléchargement

Aperçu

Lors de l'enregistrement d'une image sur Amazon S3, etc. avec Active Storage, réduisez-la avant de télécharger l'image.

--Environnement - Rails 6.0.3.3 - Active Storageimage_processinglibvips

la mise en oeuvre

Avant de sauvegarder, remplacez le tempfile de l'image jointe (ʻActionDispatch :: Http :: UploadedFile`) par une version compressée.

modèle
class Event < ApplicationRecord
  has_many_attached :images
end
Vue
<div class="form-group">
  <%= f.label :images %>
  <%= f.file_field :images, multiple: true, class: 'form-control-file' %>
</div>
Compresser et enregistrer
@event.images.each do |image|
  image.tempfile = ImageProcessing::MiniMagick.source(image.tempfile).resize_to_fit(1280, 1280).call
end
@event.save

Recommended Posts

Rails Active Storage réduit les images avant le téléchargement
[Rails API + Vue] Télécharger et afficher des images à l'aide du stockage actif
[Rails] Comment utiliser Active Storage
[rails6.0.0] Comment enregistrer des images en utilisant Active Storage au format assistant
[Stockage actif] Paramètres de validation lors du téléchargement de fichiers
Publier / supprimer plusieurs images avec Active Storage
Présentez le stockage actif
[Rails] Afficher les avatars dans les messages à l'aide du stockage actif
Comment lier des images à l'aide de FactoryBot Active Storage
[Ruby on Rails] Supprimer les images s3 avec Active Strage
[Rails] À propos du hachage actif
[Rails] Présentation de Active Hash
[Débutant] À propos du stockage actif