class Uploadcare::Client::MultipartUpload::ChunksClient
This class splits file into chunks of set chunk_size and uploads them into cloud storage. Used for multipart uploads @see uploadcare.com/api-refs/upload-api/#tag/Upload/paths/https:~1~1uploadcare.s3-accelerate.amazonaws.com~1%3C%3Cpresigned-url%3E/put
Constants
- CHUNK_SIZE
Public Instance Methods
api_root()
click to toggle source
# File lib/uploadcare/client/multipart_upload/chunks_client.rb, line 26 def api_root '' end
headers()
click to toggle source
# File lib/uploadcare/client/multipart_upload/chunks_client.rb, line 30 def headers {} end
upload_chunks(object, links)
click to toggle source
In multiple threads, split file into chunks and upload those chunks into respective Amazon links @param object [File] @param links [Array] of strings; by default list of Amazon storage urls
# File lib/uploadcare/client/multipart_upload/chunks_client.rb, line 18 def upload_chunks(object, links) Parallel.each(0...links.count, in_threads: Uploadcare.config.upload_threads) do |link_id| offset = link_id * CHUNK_SIZE chunk = IO.read(object, CHUNK_SIZE, offset) upload_chunk(chunk, links[link_id]) end end
Private Instance Methods
default_params()
click to toggle source
# File lib/uploadcare/client/multipart_upload/chunks_client.rb, line 40 def default_params {} end
upload_chunk(chunk, link)
click to toggle source
# File lib/uploadcare/client/multipart_upload/chunks_client.rb, line 36 def upload_chunk(chunk, link) put(path: link, body: chunk, headers: { 'Content-type': 'application/octet-stream' }) end