W3cubDocs

/Ruby on Rails 7.0

module ActiveStorage::Streaming

Included modules:
ActionController::DataStreaming, ActionController::Live

Constants

DEFAULT_BLOB_STREAMING_DISPOSITION

Private Instance Methods

send_blob_stream(blob, disposition: nil) Show source
# File activestorage/app/controllers/concerns/active_storage/streaming.rb, line 55
def send_blob_stream(blob, disposition: nil) # :doc:
  send_stream(
      filename: blob.filename.sanitized,
      disposition: blob.forced_disposition_for_serving || disposition || DEFAULT_BLOB_STREAMING_DISPOSITION,
      type: blob.content_type_for_serving) do |stream|
    blob.download do |chunk|
      stream.write chunk
    end
  end
end

Stream the blob from storage directly to the response. The disposition can be controlled by setting disposition. The content type and filename is set directly from the blob.

© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.