"name/cos:GetObject"
permission.Authorization
is required for all operations on private resources for COS to determine whether a request is valid.COS.getAuthorization
method is used to calculate the authentication credential (Authorization), which is the signing information used to verify the validity of the request.// Log in to https://console.tencentcloud.com/cam/capi to check and manage the SecretId and SecretKey of your project.var Authorization = COS.getAuthorization({SecretId: 'SECRETID', // User `SecretId`. We recommend you use a sub-account key and follow the principle of least privilege to reduce risks. For information about how to obtain a sub-account key, visit https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1.SecretKey: 'SECRETKEY', // User `SecretKey`. We recommend you use a sub-account key and follow the principle of least privilege to reduce risks. For information about how to obtain a sub-account key, visit https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1.Method: 'get',Key: 'exampleobject',Expires: 60,Query: {},Headers: {},});
Parameter | Description | Type | Required |
SecretId | Your SecretId . | String | Yes |
SecretKey | Your SecretKey . | String | Yes |
Method | HTTP request method, such as GET , POST , DELETE , or HEAD . | String | Yes |
Key | Object key (object name) is the unique ID of an object in a bucket. If the request operation is to be performed on a file, this parameter is required and should be a filename. If the operation is on a bucket, this parameter should be left empty. | String | No |
Query | Request parameters to be included in the signature in the format of {key: 'val'} | Object | No |
Headers | Request headers to be included in the signature in the format of {key: 'val'} | Object | No |
Expires | Signature expiration time in seconds. Default value: 900 . | Number | No |
authorization
.var url = cos.getObjectUrl({Bucket: 'examplebucket-1250000000', /* Your bucket name. Required. */Region: 'COS_REGION', /* Bucket region, such as `ap-beijing`. Required. */Key: 'Profile photo.jpg', /* Object key stored in the bucket (such as `1.jpg` and `a/b/test.txt`). Required. */Sign: false,});
var url = cos.getObjectUrl({Bucket: 'examplebucket-1250000000', /* Your bucket name. Required. */Region: 'COS_REGION', /* Bucket region, such as `ap-beijing`. Required. */Key: 'Profile photo.jpg', /* Object key stored in the bucket (such as `1.jpg` and `a/b/test.txt`). Required. */});
callback
cos.getObjectUrl({Bucket: 'examplebucket-1250000000', /* Your bucket name. Required. */Region: 'COS_REGION', /* Bucket region, such as `ap-beijing`. Required. */Key: 'Profile photo.jpg', /* Object key stored in the bucket (such as `1.jpg` and `a/b/test.txt`). Required. */Sign: false,},function (err, data) {console.log(err || data.Url);});
cos.getObjectUrl({Bucket: 'examplebucket-1250000000', /* Your bucket name. Required. */Region: 'COS_REGION', /* Bucket region, such as `ap-beijing`. Required. */Key: 'Profile photo.jpg', /* Object key stored in the bucket (such as `1.jpg` and `a/b/test.txt`). Required. */Sign: true,Expires: 3600, // Unit: second},function (err, data) {console.log(err || data.Url);});
cos.getObjectUrl({Bucket: 'examplebucket-1250000000', /* Your bucket name. Required. */Region: 'COS_REGION', /* Bucket region, such as `ap-beijing`. Required. */Key: 'Profile photo.jpg', /* Object key stored in the bucket (such as `1.jpg` and `a/b/test.txt`). Required. */Sign: true,},function (err, data) {if (err) return console.log(err);var downloadUrl =data.Url +(data.Url.indexOf('?') > -1 ? '&' : '?') +'response-content-disposition=attachment'; // Add the parameter for a forced download/* The filename can be concatenated to rename the object during download *//* downloadUrl += ';filename=myname'; */// (The window.open() mode is recommended.) This opens the URL in a new window. If you need to open the URL in the current window, you can use the hidden iframe for download, or use the <a> tag download attribute.window.open(downloadUrl);});
Query
and Header
cos.getObjectUrl({Bucket: 'examplebucket-1250000000', /* Your bucket name. Required. */Region: 'COS_REGION', /* Bucket region, such as `ap-beijing`. Required. */Key: 'Profile photo.jpg', /* Object key stored in the bucket (such as `1.jpg` and `a/b/test.txt`). Required. */Sign: true,/* The HTTP request parameters passed in should be the same as those of the actual request. This can prevent users from tampering with the HTTP request parameters. */Query: {'imageMogr2/thumbnail/200x/': '',},/* The HTTP request headers passed in should be included in the actual request. This can prevent users from tampering with the HTTP request headers that are signed here. */Headers: {host: 'xxx', /* Specified host for access. Error code 403 will be reported for access by a non-specified host. */},},function (err, data) {console.log(err || data.Url);});
Put Object
uploadcos.getObjectUrl({Bucket: 'examplebucket-1250000000', /* Your bucket name. Required. */Region: 'COS_REGION', /* Bucket region, such as `ap-beijing`. Required. */Key: 'Profile photo.jpg', /* Object key stored in the bucket (such as `1.jpg` and `a/b/test.txt`). Required. */Method: 'PUT',Sign: true,},function (err, data) {if (err) return console.log(err);console.log(data.Url);/* After the URL is obtained, the object can be uploaded in the frontend using AJAX. */var xhr = new XMLHttpRequest();xhr.open('PUT', data.Url, true); /* `PUT` corresponds to the `Method` entered in `getObjectUrl` */xhr.onload = function (e) {console.log('Uploaded successfully', xhr.status, xhr.statusText);};xhr.onerror = function (e) {console.log('Upload failed', xhr.status, xhr.statusText);};xhr.send(file); /* "file" is the object to upload. */});
Parameter | Description | Type | Required |
Bucket | Bucket name in the format of BucketName-APPID . | String | Yes |
Region | String | Yes | |
Key | Object key (object name) is the unique ID of an object in a bucket. If the request operation is to be performed on a file, this parameter is required and should be a filename. If the operation is on a bucket, this parameter should be left empty. | String | Yes |
Sign | Whether to return a signed URL. Default value: true . | Boolean | No |
Protocol | Valid values: http: (default value), https: . | String | No |
Domain | Bucket access domain name. Default value: {BucketName-APPID}.cos.{Region}.myqcloud.com . | String | No |
Method | HTTP request method, such as GET , POST , DELETE , or HEAD . Default value: GET . | String | No |
Query | Request parameters to be included in the signature in the format of {key: 'val'} | Object | No |
Headers | Request headers to be included in the signature in the format of {key: 'val'} | Object | No |
Expires | Signature expiration time in seconds. Default value: 900 . | Number | No |
function(err, data) { ... }
Parameter | Description | Type |
err | Object returned when an error (network error or service error) occurs. If the request is successful, this parameter is empty. For more information, see Error Codes. | Object |
data | The object returned when the request is successful. If an error occurs with the request, this parameter is empty. | Object |
- Url | Calculated URL | String |
Was this page helpful?