[RUBY] Rails Active Storage verkleinert Bilder vor dem Hochladen

Überblick

Wenn Sie ein Bild mit Active Storage in Amazon S3 usw. speichern, reduzieren Sie es, bevor Sie das Bild hochladen.

--Umgebung - Rails 6.0.3.3 - Active Storageimage_processinglibvips

Implementierung

Ersetzen Sie vor dem Speichern das Tempfile des angehängten Images (ActionDispatch :: Http :: UploadedFile) durch eine komprimierte Version.

Modell-
class Event < ApplicationRecord
  has_many_attached :images
end
Aussicht
<div class="form-group">
  <%= f.label :images %>
  <%= f.file_field :images, multiple: true, class: 'form-control-file' %>
</div>
Komprimieren und speichern
@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 verkleinert Bilder vor dem Hochladen
[Rails API + Vue] Laden Sie Bilder mit Active Storage hoch und zeigen Sie sie an
[Rails] Verwendung von Active Storage
[rails6.0.0] Speichern von Bildern mit Active Storage im Assistentenformat
[Active Storage] Validierungseinstellungen beim Hochladen von Dateien
Veröffentlichen / Löschen mehrerer Bilder mit Active Storage
Führen Sie Active Storage ein
[Rails] Zeigt Avatare in Posts mit Active Storage an
So verknüpfen Sie Bilder mit FactoryBot Active Storage
[Ruby on Rails] Löschen Sie s3-Bilder mit Active Strage
[Rails] Über aktiven Hash
[Rails] Einführung von Active Hash
[Anfänger] Über Active Storage