class ActiveStorage::Blob

def upload(io)

and +create_after_upload!+.
Normally, you do not have to call this method directly at all. Use the factory class methods of +build_after_upload+

and store that in +byte_size+ on the blob record.
checksum does not match what the service receives, an exception will be raised. We also measure the size of the +io+
Prior to uploading, we compute the checksum, which is sent to the service for transit integrity validation. If the

you should instead simply create a new blob based on the old one.
using this method after a file has already been uploaded to fit with a blob. If you want to create a derivative blob,
Uploads the +io+ to the service on the +key+ for this blob. Blobs are intended to be immutable, so you shouldn't be
def upload(io)
  self.checksum     = compute_checksum_in_chunks(io)
  self.content_type = extract_content_type(io)
  self.byte_size    = io.size
  self.identified   = true
  service.upload key, io, checksum: checksum, **service_metadata
end