When implementing chunked upload you must comply with the following restrictions:
- You must include the
X-Unique-Upload-Idheader and make sure it's identical (and unique) for all parts.
- Every part must contain
Content-Rangeheader which is applicable to the location of the chunk in the overall file (Format: 'bytes #start-#end/#total', e.g. 'bytes 0-5999999/22744222').
- Last chunk must be last. meaning it must arrive the server after all other chunks had already returned.
- Each chunk must be larger than 5mb except the last one.
Here's how it's implemented within our Ruby libraries: https://github.com/cloudinary/cloudinary_gem/blob/master/lib/cloudinary/uploader.rb#L82