Updates a chunk of an upload session for a file.
D5E3F7A
The ID of the upload session.
The binary content of the file
bytes 8388608-16777215/445856194
The byte range of the chunk.
Must not overlap with the range of a part already uploaded this session.
sha=fpRyg5eVQletdZqEKaFlqwBXJzM=
The RFC3230 message digest of the chunk uploaded.
Only SHA1 is supported. The SHA1 digest must be Base64
encoded. The format of this header is as
sha=BASE64_ENCODED_DIGEST
.
Chunk has been uploaded successfully.
Returns an error if the chunk conflicts with another chunk previously uploaded.
Returns an error if a precondition was not met.
Returns an error if the content range does not match a specified range for the session.
An unexpected client error.
curl -X PUT https://upload.box.com/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD \
-H 'Authorization: Bearer <ACCESS_TOKEN>'
-H "Digest: sha=fpRyg5eVQletdZqEKaFlqwBXJzM=" \
-H "Content-Range: bytes 8388608-16777215/445856194" \
-H "Content-Type: application/octet-stream" \
--data-binary @<FILE_NAME>
//Reading a large file
FileInputStream fis = new FileInputStream("My_Large_File.txt");
//Create the digest input stream to calculate the digest for the whole file.
DigestInputStream dis = new DigestInputStream(fis, digest);
List<BoxFileUploadSessionPart> parts = new ArrayList<BoxFileUploadSessionPart>();
//Get the part size. Each uploaded part should match the part size returned as part of the upload session.
//The last part of the file can be less than part size if the remaining bytes of the last part is less than
//the given part size
long partSize = sessionInfo.getPartSize();
//Start byte of the part
long offset = 0;
//Overall of bytes processed so far
long processed = 0;
while (processed < fileSize) {
long diff = fileSize - processed;
//The size last part of the file can be less than the part size.
if (diff < partSize) {
partSize = diff;
}
//Upload a part. It can be uploaded asynchorously
BoxFileUploadSessionPart part = session.uploadPart(dis, offset, (int)partSize, fileSize);
parts.add(part);
//Increase the offset and proceesed bytes to calculate the Content-Range header.
processed += partSize;
offset += partSize;
}
upload_session = client.upload_session('11493C07ED3EABB6E59874D3A1EF3581')
offset = upload_session.part_size * 3
total_size = 26000000
part_bytes = b'abcdefgh'
part = upload_session.upload_part_bytes(part_bytes, offset, total_size)
print('Successfully uploaded part ID {0}'.format(part['part_id']))
// Upload the part starting at byte offset 8388608 to upload session '93D9A837B45F' with part ID 'feedbeef'
client.files.uploadPart('93D9A837B45F', part, 8388608, 2147483648, {part_id: 'feedbeef'}, callback);