tencent cloud

Cloud Object Storage

Release Notes and Announcements
Release Notes
Announcements
Product Introduction
Overview
Features
Use Cases
Strengths
Concepts
Regions and Access Endpoints
Specifications and Limits
Service Regions and Service Providers
Billing
Billing Overview
Billing Method
Billable Items
Free Tier
Billing Examples
Viewing and Downloading Bill
Payment Overdue
FAQs
Getting Started
Console
Getting Started with COSBrowser
User Guide
Creating Request
Bucket
Object
Data Management
Batch Operation
Global Acceleration
Monitoring and Alarms
Operations Center
Data Processing
Content Moderation
Smart Toolbox
Data Processing Workflow
Application Integration
User Tools
Tool Overview
Installation and Configuration of Environment
COSBrowser
COSCLI (Beta)
COSCMD
COS Migration
FTP Server
Hadoop
COSDistCp
HDFS TO COS
GooseFS-Lite
Online Tools
Diagnostic Tool
Use Cases
Overview
Access Control and Permission Management
Performance Optimization
Accessing COS with AWS S3 SDK
Data Disaster Recovery and Backup
Domain Name Management Practice
Image Processing
Audio/Video Practices
Workflow
Direct Data Upload
Content Moderation
Data Security
Data Verification
Big Data Practice
COS Cost Optimization Solutions
Using COS in the Third-party Applications
Migration Guide
Migrating Local Data to COS
Migrating Data from Third-Party Cloud Storage Service to COS
Migrating Data from URL to COS
Migrating Data Within COS
Migrating Data Between HDFS and COS
Data Lake Storage
Cloud Native Datalake Storage
Metadata Accelerator
GooseFS
Data Processing
Data Processing Overview
Image Processing
Media Processing
Content Moderation
File Processing Service
File Preview
Troubleshooting
Obtaining RequestId
Slow Upload over Public Network
403 Error for COS Access
Resource Access Error
POST Object Common Exceptions
API Documentation
Introduction
Common Request Headers
Common Response Headers
Error Codes
Request Signature
Action List
Service APIs
Bucket APIs
Object APIs
Batch Operation APIs
Data Processing APIs
Job and Workflow
Content Moderation APIs
Cloud Antivirus API
SDK Documentation
SDK Overview
Preparations
Android SDK
C SDK
C++ SDK
.NET(C#) SDK
Flutter SDK
Go SDK
iOS SDK
Java SDK
JavaScript SDK
Node.js SDK
PHP SDK
Python SDK
React Native SDK
Mini Program SDK
Error Codes
Harmony SDK
Endpoint SDK Quality Optimization
Security and Compliance
Data Disaster Recovery
Data Security
Cloud Access Management
FAQs
Popular Questions
General
Billing
Domain Name Compliance Issues
Bucket Configuration
Domain Names and CDN
Object Operations
Logging and Monitoring
Permission Management
Data Processing
Data Security
Pre-signed URL Issues
SDKs
Tools
APIs
Agreements
Service Level Agreement
Privacy Policy
Data Processing And Security Agreement
Contact Us
Glossary

Uploading an Object

PDF
Mode fokus
Ukuran font
Terakhir diperbarui: 2024-02-04 16:51:44

Overview

This document provides an overview of APIs and SDK code samples for object uploading.
Simple operations
API
Operation
Description
Simply uploading an object
Uploads an object to a bucket
Multipart operations
API
Operation
Description
Querying multipart uploads
Queries the information on ongoing multipart uploads
Initializing a multipart upload
Initializes a multipart upload
Uploading a part
Uploads a part in multipart upload
Querying uploaded parts
Queries uploaded parts in a specified multipart upload operation
Completing a multipart upload
Completes the multipart upload of the entire file
Aborting a multipart upload
Aborts a multipart upload operation and deletes the uploaded parts

Uploading an object

It encapsulates the simple upload and multipart upload APIs and can intelligently select the upload method based on file size. It also supports checkpoint restart for resuming interrupted operations.

Sample. Uploading a local file

// Bucket region abbreviation. For example, "ap-guangzhou" is the abbreviation of the Guangzhou region
let region = "COS_REGION";
// Create a `CosXmlServiceConfig` object and modify the configuration parameters as needed
let serviceConfig = {
region: region,
isDebuggable: true,
isHttps: true,
};
// Create a `TransferConfig` object and modify the configuration parameters as needed
// You can set the object size threshold for multipart upload in `TransferConfig`. By default, the system automatically executes multipart upload for files whose sizes are greater than or equal to 2 MB. You can use the following code to change the threshold:
let transferConfig = {
forceSimpleUpload: false,
enableVerification: true,
divisionForUpload: 2097152, // Set multipart upload for files whose sizes are greater than or equal to 2 MB
sliceSizeForUpload: 1048576, // Set the default part size to 1 MB
};
// Register the default COS TransferManger
await Cos.registerDefaultTransferManger(serviceConfig, transferConfig);

// Get `CosTransferManger`
let cosTransferManger: CosTransferManger = Cos.getDefaultTransferManger();
//let cosTransferManger: CosTransferManger = Cos.getTransferManger(newRegion);
// Bucket name in the format of `BucketName-APPID` (`APPID` is required), which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket.
let bucket = "examplebucket-1250000000";
let cosPath = "exampleobject"; //Location identifier of the object in the bucket, i.e., the object key
let srcPath = "Path of the local file"; // Path of the local file
// If there is an uploadId for the initialized multipart upload, assign the value of uploadId here to resume the upload. Otherwise, assign `undefined`.
let _uploadId = undefined;

// Callback for successful upload
let successCallBack = (header?: object) => {
// TODO: Logic after successful upload
};
// Callback for failed upload
let failCallBack = (clientError?: CosXmlClientError, serviceError?: CosXmlServiceError) => {
// TODO: Logic after failed upload
if (clientError) {
console.log(clientError);
}
if (serviceError) {
console.log(serviceError);
}
};
// Callback for the upload status, through which you can check the task process
let stateCallBack = (state: TransferState) => {
// todo notify transfer state
};
// Callback for the upload progress
let progressCallBack = (complete: number, target: number) => {
// todo Do something to update progress...
};
// Callback for the completion of multipart upload initialization
let initMultipleUploadCallBack = (bucket: string, cosKey: string, uploadId: string) => {
//The uploadId required for the subsequent checkpoint restarts
_uploadId = uploadId;
};

// Start the upload
let transferTask:TransferTask = await cosTransferManger.upload(
bucket,
cosPath,
srcPath,
{
uploadId: _uploadId,
resultListener: {
successCallBack: successCallBack,
failCallBack: failCallBack
},
stateCallback: stateCallBack,
progressCallback: progressCallBack,
initMultipleUploadCallback: initMultipleUploadCallBack,
}
);
// Pause the task
transferTask.pause();
// Resume the task
transferTask.resume();
// Cancel the task
transferTask.cancel();

Parameter description

TransferConfig is used to configure the COS upload service and has the following members:
Parameter
Description
Type
Default Value
Supported Platform
divisionForUpload
Sets the minimum object size to enable multipart upload
Int
2097152
Android, iOS
sliceSizeForUpload
Sets the part size during multipart upload
Int
1048576
Android, iOS
enableVerification
Whether to verify the entire object during multipart upload
Bool
true
Android, iOS
forceSimpleUpload
Whether to forcibly use simple upload
Bool
false
Android
Parameters of the upload method
Parameter
Description
Type
Required
bucket
Bucket name in the format of BucketName-APPID. For more information, see Bucket Overview.
String
Yes
cosPath
Object key, which uniquely identifies an object in a bucket. For example, if an object's access endpoint is examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/picture.jpg, its key is doc/picture.jpg.
String
Yes
fileUri
Path of the local file to be uploaded
String
Yes
uploadId
If there is an uploadId for the initialized multipart upload, assign the value of uploadId here to resume the upload.
String
No
stroageClass
Storage class
String
No
trafficLimit
Bandwidth limit for a single request in bit/s. Value range: 819200–838860800, i.e., 100 KB/s - 100 MB/s.
Int
No
ResultListener
Callback for the upload result (including success and failure)
ResultListener
No
StateCallBack
Callback for the upload status
StateCallBack
No
ProgressCallBack
Callback for the upload progress
ProgressCallBack
No
InitMultipleUploadCallback
Callback for the completion of multipart upload initialization
InitMultipleUploadCallback
No

Response description

Success: TransferTask is returned. You can pause, resume, or cancel the TransferTask.
Failure: An error (such as authentication failure) occurs, with a CosXmlClientError or CosXmlServiceError exception reported in ResultListener's callback for failure. For more information, see Troubleshooting.

Bantuan dan Dukungan

Apakah halaman ini membantu?

masukan