Multipart Write Example

Following is an example of the entire multipart object uploading POST process, using CURL (with line breaks for ease of reading). 

Info

CLUSTER or <cluster> in a URL stands for <host>[:<port>], where host is a fully qualified domain name or IP address, plus a port number if other than 80. If the Host header does not match the domain name, override it with the domain= argument.

  1. Start the upload with a 0-byte POST. Set the encoding (&encoding=2:1) if there is no default encoding or you need a non-default setting:

    Initiate the upload

    curl -i "${cluster}/ ?uploads" -XPOST
  2. In the response, locate the headers for the UploadID and the Content-UUID, which is the new object being created:

    Returned headers

    Castor-System-UploadID: c88fe8a5daf98f7ce84dc4947238f5c1d0b0b42b8ce464e4566cc2c080ecf401d0b0b42b8ce464e4566cc2c080ecf4010P Content-UUID: c88fe8a5daf98f7ce84dc4947238f5c1
  3. Write the first part using the UploadID and Content-UUID and partNumber=1:

    Upload the first part

    curl -i "${cluster}/c88fe8a5daf98f7ce84dc4947238f5c1 ?partNumber=1 &uploadid=c88fe8a5daf98f7ce84dc4947238f5c1d0b0b42b8ce464e4566cc2c080ecf401d0b0b42b8ce464e4566cc2c080ecf4010P" -XPOST --data-binary "part 1 data"

    Use the Content-UUID returned by this post in the manifest to complete the upload.

  4. Start the second part using the UploadID and Content-UUID and partNumber=2:

    Upload the second part

    Use the Content-UUID returned by this post in the manifest to complete the upload.

  5. Complete the upload with the UploadID and a part manifest:

Note

Follow this usage of double quotes.

Complete the upload

  1. The response code on the complete indicates success. To verify the completed object, you can HEAD the object:

Verify completed object



© DataCore Software Corporation. · https://www.datacore.com · All rights reserved.