方法
包含的模块
常量
| DEFAULT_BLOB_STREAMING_DISPOSITION | = | "inline" |
实例私有方法
send_blob_stream(blob, disposition: nil) Link
将 blob 直接从存储流式传输到响应。可以通过设置 disposition 来控制其呈现方式。内容类型和文件名直接从 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