"name/cos:GetObject"
权限。// SECRETID 和 SECRETKEY 请登录 https://console.tencentcloud.com/cam/capi 进行查看和管理var Authorization = COS.getAuthorization({SecretId: 'SECRETID', // 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1SecretKey: 'SECRETKEY', // 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1Method: 'get',Key: 'exampleobject',Expires: 60,Query: {},Headers: {},});
参数名 | 参数描述 | 类型 | 是否必填 |
SecretId | 用户的 SecretId | String | 是 |
SecretKey | 用户的 SecretKey | String | 是 |
Method | 操作方法,例如 GET,POST,DELETE,HEAD 等 HTTP 方法 | String | 是 |
Key | 对象键(Object 的名称),对象在存储桶中的唯一标识,如果请求操作是对文件的,则为文件名,且为必须参数。如果操作是对于存储桶,则为空 | String | 否 |
Query | 签名中要签入的请求参数,{key: 'val'} 的格式 | Object | 否 |
Headers | 签名中要签入的请求头部,{key: 'val'} 的格式 | Object | 否 |
Expires | 签名几秒后失效,默认为 900 秒 | Number | 否 |
var url = cos.getObjectUrl({Bucket: 'examplebucket-1250000000', /* 填入您自己的存储桶,必须字段 */Region: 'COS_REGION', /* 存储桶所在地域,例如 ap-beijing,必须字段 */Key: '头像.jpg', /* 存储在桶里的对象键(例如1.jpg,a/b/test.txt),支持中文,必须字段 */Sign: false,});
var url = cos.getObjectUrl({Bucket: 'examplebucket-1250000000', /* 填入您自己的存储桶,必须字段 */Region: 'COS_REGION', /* 存储桶所在地域,例如 ap-beijing,必须字段 */Key: '头像.jpg', /* 存储在桶里的对象键(例如1.jpg,a/b/test.txt),支持中文,必须字段 */});
cos.getObjectUrl({Bucket: 'examplebucket-1250000000', /* 填入您自己的存储桶,必须字段 */Region: 'COS_REGION', /* 存储桶所在地域,例如 ap-beijing,必须字段 */Key: '头像.jpg', /* 存储在桶里的对象键(例如1.jpg,a/b/test.txt),支持中文,必须字段 */Sign: false,},function (err, data) {console.log(err || data.Url);});
cos.getObjectUrl({Bucket: 'examplebucket-1250000000', /* 填入您自己的存储桶,必须字段 */Region: 'COS_REGION', /* 存储桶所在地域,例如 ap-beijing,必须字段 */Key: '头像.jpg', /* 存储在桶里的对象键(例如1.jpg,a/b/test.txt),支持中文,必须字段 */Sign: true,Expires: 3600, // 单位秒},function (err, data) {console.log(err || data.Url);});
cos.getObjectUrl({Bucket: 'examplebucket-1250000000', /* 填入您自己的存储桶,必须字段 */Region: 'COS_REGION', /* 存储桶所在地域,例如 ap-beijing,必须字段 */Key: '头像.jpg', /* 存储在桶里的对象键(例如1.jpg,a/b/test.txt),支持中文,必须字段 */Sign: true,},function (err, data) {if (err) return console.log(err);var downloadUrl =data.Url +(data.Url.indexOf('?') > -1 ? '&' : '?') +'response-content-disposition=attachment'; // 补充强制下载的参数/* 可拼接 filename 来实现下载时重命名 *//* downloadUrl += ';filename=myname'; */// (推荐使用 window.open()方式)这里是新窗口打开 url,如果需要在当前窗口打开,可以使用隐藏的 iframe 下载,或使用 a 标签 download 属性协助下载window.open(downloadUrl);});
cos.getObjectUrl({Bucket: 'examplebucket-1250000000', /* 填入您自己的存储桶,必须字段 */Region: 'COS_REGION', /* 存储桶所在地域,例如 ap-beijing,必须字段 */Key: '头像.jpg', /* 存储在桶里的对象键(例如1.jpg,a/b/test.txt),支持中文,必须字段 */Sign: true,/* 传入的请求参数需与实际请求相同,能够防止用户篡改此 HTTP 请求的参数 */Query: {'imageMogr2/thumbnail/200x/': '',},/* 传入的请求头部需包含在实际请求中,能够防止用户篡改签入此处的 HTTP 请求头部 */Headers: {host: 'xxx', /* 指定 host 访问,非指定的 host 访问会报错403 */},},function (err, data) {console.log(err || data.Url);});
cos.getObjectUrl({Bucket: 'examplebucket-1250000000', /* 填入您自己的存储桶,必须字段 */Region: 'COS_REGION', /* 存储桶所在地域,例如 ap-beijing,必须字段 */Key: '头像.jpg', /* 存储在桶里的对象键(例如1.jpg,a/b/test.txt),支持中文,必须字段 */Method: 'PUT',Sign: true,},function (err, data) {if (err) return console.log(err);console.log(data.Url);/* 获取到 Url 后,前端可以这样 ajax 上传 */var xhr = new XMLHttpRequest();xhr.open('PUT', data.Url, true); /* PUT 和 getObjectUrl 填写的 Method 对应 */xhr.onload = function (e) {console.log('上传成功', xhr.status, xhr.statusText);};xhr.onerror = function (e) {console.log('上传出错', xhr.status, xhr.statusText);};xhr.send(file); /* file 是要上传的文件对象 */});
参数名 | 参数描述 | 类型 | 是否必填 |
Bucket | 存储桶的名称,命名规则为 BucketName-APPID,此处填写的存储桶名称必须为此格式 | String | 是 |
Region | 存储桶所在地域,枚举值请参见 地域和访问域名 | String | 是 |
Key | 对象键(Object 的名称),对象在存储桶中的唯一标识,如果请求操作是对文件的,则为文件名,且为必须参数。如果操作是对于存储桶,则为空 | String | 是 |
Sign | 是否返回带有签名的 Url,默认为 true | Boolean | 否 |
Protocol | 可选填为 http: 或 https: ,默认为 http: (带冒号) | String | 否 |
Domain | 存储桶访问域名,默认为 {BucketName-APPID}.cos.{Region}.myqcloud.com | String | 否 |
Method | 操作方法,例如 GET,POST,DELETE,HEAD 等 HTTP 方法,默认为 GET | String | 否 |
Query | 签名中要签入的请求参数,{key: 'val'} 的格式 | Object | 否 |
Headers | 签名中要签入的请求头部,{key: 'val'} 的格式 | Object | 否 |
Expires | 签名几秒后失效,默认为 900 秒 | Number | 否 |
function(err, data) { ... }
参数名 | 参数描述 | 类型 |
err | Object | |
data | 请求成功时返回的对象,如果请求发生错误,则为空 | Object |
- Url | 计算得到的 Url | String |
本页内容是否解决了您的问题?