module ActiveStorage::Streaming
Constants
- DEFAULT_BLOB_STREAMING_DISPOSITION
Private Instance Methods
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.
# File activestorage/app/controllers/concerns/active_storage/streaming.rb, line 56 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 rescue ActiveStorage::FileNotFoundError expires_now head :not_found rescue # Status and caching headers are already set, but not committed. # Change the status to 500 manually. expires_now head :internal_server_error raise end end