import { UploadEventType, TosClient, TosClientError, TosServerError } from '@volcengine/tos-sdk';
const client = new TosClient({
accessKeyId: process.env['TOS_ACCESS_KEY'],
accessKeySecret: process.env['TOS_SECRET_KEY'],
region: "Provide your region",
endpoint: "Provide your endpoint",
function handleError(error) {
if (error instanceof TosClientError) {
console.log('Client Err Msg:', error.message);
console.log('Client Err Stack:', error.stack);
} else if (error instanceof TosServerError) {
console.log('Request ID:', error.requestId);
console.log('Response Status Code:', error.statusCode);
console.log('Response Header:', error.headers);
console.log('Response Err Code:', error.code);
console.log('Response Err Msg:', error.message);
console.log('unexpected exception, message: ', error);
const bucketName = 'node-sdk-test-bucket';
const objectName = 'example_dir/multipartExample';
const filePath = './example_dir/multipartExample';
const { data } = await client.uploadFile({
partSize: 5 * 1024 * 1024,
uploadEventChange: (event) => {
case UploadEventType.createMultipartUploadSucceed: {
console.log(`Upload to ${event.bucket} ${event.key} create multipart upload success, upload id:${event.uploadId}`);
case UploadEventType.createMultipartUploadFailed: {
console.log(`Upload to ${event.bucket} ${event.key} create multipart upload fail, upload id:${event.uploadId}`);
case UploadEventType.uploadPartSucceed: {
console.log(`Upload to${event.bucket} ${event.key} part success, UploadPartInfo:%o`, event.uploadPartInfo);
case UploadEventType.uploadPartAborted: {
console.log(`Upload to ${event.bucket} ${event.key} part aborted, upload id:${event.uploadId}`);
case UploadEventType.uploadPartFailed: {
console.log(`Upload to ${event.bucket} ${event.key} part fail, upload id:${event.uploadId}`);
case UploadEventType.completeMultipartUploadSucceed: {
console.log(`Upload to ${event.bucket} ${event.key} success, upload id:${event.uploadId}`);
case UploadEventType.completeMultipartUploadFailed: {
console.log(`Upload to ${event.bucket} ${event.key} fail, upload id:${event.uploadId}, err: %o`, event.err);
console.log('uploadFile result', data);