Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. The user wishes to upload a new FileEntity with the name foo.
  2. The user names their file "foo" and then select a large file to upload.
  3. The file takes thirty minutes to upload, and then the FileEntity creation fails because there is already a file named "foo" in the users chosen location.
  4. The user decides to name the file "foo2" and re-starts the file upload.
  5. When the client starts the file upload, the server indicates the file has already been upload and provides the ID of the file handle.
  6. A new FileEntity with the name "foo2" is then created within a second after re-starting the upload.

Multi-part Upload API

Image RemovedImage Added

DescriptionResponseURLRequestType
Start or resume a multipart upload of a file.  By default this method is idempotent, so subsequent calls will simply return the current status of the file upload.  If for some reason, the client must restart a file upload from the beginning then then following optional query parameters should be included: forceRestart=true (/file/multipart/upload?forceRestart=true)MultipartUploadStatus/file/multipart/uploadMultipartUploadRequestPOST
Used to get a batch of pre-signed URLS that should be used to upload file parts.  Each part will require a unique pre-signed URL.  The client is expected to PUT the contents of each part to the corresponding pre-signed URL.  Each per-signed URL will expire 15 minute after issued.  If a URL has expired, the client will need to request a new URL for that part.BatchPartUploadURLResponse/file/multipart/{uploadId}/presignedurl/batchBatchPartUploadURLRequestPOST
After the contents of part have been upload (PUT to a pre-signed URL) this method is used to added the part to the multipart upload.  If the upload part can be found, and the provided MD5 matches the MD5 of the part, the part will be accepted and added to the multipart upload.AddMultipartResponse/file/multipart/{uploadId}/add/{partNumber}?partMD5Hex={partMD5Hex} PUT
After all of the parts have been upload and added successfully, this method is called to complete the upload resulting in the creation of a new file handle.MultipartUploadStatus/file/multipart/{uploadId}/complete PUT

...