Legacy File Upload

IID: [1:{00010001}]

This interface represents a multipart upload (chunked upload) of a file. Uploads type-independent binary data.

> Type Definitions

FilenameType ID: 0

The name of the file.

Encoding: 106
Length: 1024
Type: string
FiletypeType ID: 1

The type of the file.

Encoding: 106
Length: 1024
Type: string
IDType ID: 4

The identifier of the file upload.

Encoding: 106
Length: 32
Type: string
Part NumberType ID: 5

A number specifying the order of a part in a file.

MAX: 
MIN: 
Unit: 
Type: uint32
SizeType ID: 2

The size of the file.

MAX: 
MIN: 
Unit: bytes
Type: uint64
List of FingerprintsType ID: 8

An array of fingerprint values received after successfully uploading a part of a file.

Min Length: 1
Length: 2147483647
Type: array ( 7 - Fingerprint )
ChecksumType ID: 3

The hash of the file, produced by MD5.

Length: 16
Type: blob
DataType ID: 6

The binary data of the file to upload.

Min Length: 0
Length: 4079686
Type: blob
FingerprintType ID: 7

A hash uniquely identifying a part of a file upload. Not necessarily MD5.

Length: 16
Type: blob

> Methods

Begin UploadItem ID: 0


Initiates a multipart file upload.

Inputs:
 0 -  Filename - The name of the file to be uploaded.
 1 -  Filetype - The type of the file to be uploaded.
 2 -  Size - The size of the file to be uploaded, in bytes.
 3 -  Checksum - The MD5 hash of the file.
Outputs:
 4 -  ID - The identifier of the file upload.
 2 -  Size - The maximum allowable size for each part of the file upload.
Upload PartItem ID: 1


Uploads a part of a file.

Inputs:
 4 -  ID - The unique identifier of the file upload. Same for each part of the same file.
 5 -  Part Number - The part number for this part of the file. A part number uniquely identifies a part and also defines its position within the object being uploaded. If a new part is uploaded using the same part number used previously, the new part will replace the old part.
 6 -  Data - The binary data of the part of the object being uploaded.
Outputs:
 7 -  Fingerprint - A 16-byte hash uniquely identifying each part of the file upload. This value must be retained for each uploaded part to be used in the Complete Upload method.
Complete UploadItem ID: 2


Completes the multipart file upload.

Inputs:
 4 -  ID - The identifier of the file upload.
 8 -  List of Fingerprints - A list of all Fingerprints from previous part uploads.
Cancel UploadItem ID: 3


Cancels the multipart file upload.

Inputs:
 4 -  ID - The identifier of the file upload.

> Exceptions

MAX_SIZE_EXCEEDEDItem ID: 4


Indicates a maximum size for a value has been exceeded.
INVALID_CHECKSUMItem ID: 5


Indicates the checksum provided was found to be invalid.
NOT_FOUNDItem ID: 6


Indicates the ID provided when uploading a part or completing a file upload was not found. Either the ID is incorrect or the file upload was not initiated with a call to beginUpload.
INCOMPLETE_UPLOADItem ID: 7


Indicates one or more part uploads have not completed.
INVALID_FINGERPRINTItem ID: 8


Indicates a mismatch in the list of fingerprints.
SERVER_ERRORItem ID: 9


Indicates an error has occurred on the server.