Method: ActiveStorage::Preview#download

Defined in:
activestorage/app/models/active_storage/preview.rb

#download(&block) ⇒ Object

Downloads the file associated with this preview’s variant. If no block is given, the entire file is read into memory and returned. That’ll use a lot of RAM for very large files. If a block is given, then the download is streamed and yielded in chunks. Raises ActiveStorage::Preview::UnprocessedError if the preview has not been processed yet.



90
91
92
93
94
95
96
# File 'activestorage/app/models/active_storage/preview.rb', line 90

def download(&block)
  if processed?
    presentation.download(&block)
  else
    raise UnprocessedError
  end
end