2022-11-24 Active Storage ダイレクトアップロード
Active Storage ダイレクトアップロード
@rails/activestorage を使えばRailsで手軽にS3などへのダイレクトアップロードが実現可能。
import * as ActiveStorage from "@rails/activestorage"
ActiveStorage.start()
アセットパイプラインを使う場合、下記の通り。
//= require activestorage
file_fieldに
direct_upload: true
を追加します。<%= form.file_field :attachments, multiple: true, direct_upload: true %>
サードパーティのストレージサービスにCORSを設定して、ダイレクトアップロードのリクエストを許可します。
以上で完了です。アップロードはフォーム送信時に開始されます。