aboutsummaryrefslogtreecommitdiffstats
path: root/lib/active_storage/direct_uploads_controller.rb
blob: 99ff27f903508de09ccb2faa382f5eec7a95cb59 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
require "action_controller"
require "active_storage/blob"

class ActiveStorage::DirectUploadsController < ActionController::Base
  def create
    blob = ActiveStorage::Blob.create_before_direct_upload!(blob_args)
    render json: { url: blob.url_for_direct_upload, sgid: blob.to_sgid.to_param }
  end

  private
    def blob_args
      params.require(:blob).permit(:filename, :byte_size, :checksum, :content_type, :metadata).to_h.symbolize_keys
    end
end