作者:重庆互联网小徐 发布时间:2024-03-13 浏览:19850 赞(1950) 收藏 评论(0)
COS-SDK主要使用步骤如下:
文件缺少元数据时,小程序端 无法访问,请务必参考本文档获取文件元数据并正确写入。
云托管域名请求体大小限制30M,如果超大文件上传,请参考文档从客户端上传。
注意:
对象存储提供的临时秘钥角色可以访问当前环境下的存储桶。
http://api.weixin.qq.com/_/cos/getauth
返回信息格式如下:
{ "TmpSecretId": "", // 临时密钥的 tmpSecretId "TmpSecretKey": "", // 临时密钥的 tmpSecretKey "Token": "", // 临时密钥的 sessionToken "ExpiredTime": "" // 临时密钥失效时间戳,是申请临时密钥时,时间戳加 durationSeconds}
以下为 NodeJS 使用 COS SDK 访问对象存储的示例代码,其他语言可以参考 COS SDK 的文档进行初始化。
异步获取临时密钥,通过 getAuthorization
传入 COS SDK 即可。
// 在服务启动时或者页面加载时初始化,注意这是异步的,需要等待完成,可以通过 this.cos 是否存在来判断是否完成。initcos()/** * 封装的COS-SDK初始化函数,建议在服务启动时挂载全局,通过this.cos使用对象 */async function initcos() { const COS = require('cos-nodejs-sdk-v5') try { this.cos = new COS({ getAuthorization: async function (options, callback) { const res = await call({ url: 'http://api.weixin.qq.com/_/cos/getauth', method: 'GET', }) const info = JSON.parse(res) const auth = { TmpSecretId: info.TmpSecretId, TmpSecretKey: info.TmpSecretKey, SecurityToken: info.Token, ExpiredTime: info.ExpiredTime, } callback(auth) }, }) console.log('COS初始化成功') } catch (e) { console.log('COS初始化失败', res) }}/** * 封装的网络请求方法 */function call (obj) { return new Promise((resolve, reject) => { request({ url: obj.url, method: obj.method || 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify(obj.data || {}) }, function (err, response) { if (err) reject(err) resolve(response.body) }) })}
重庆互联网项目从2004年开始为各行各业提供互联网发展解决方案,专业从事网站、小程序、微信公众号、APP、电商平台、系统等互联网平台开发,帮助企业实现从传统行业到互联网的完美转型。截止目前,重庆互联网合作的企业遍布全国各地,19年的开发经验和完善的售后服务体系获得合作客户的高度认可!
关注重庆互联网官方公众号,即可获取粉丝专享福利!
欢迎广大用户为此页面进行评价,评价成功将获得积分奖励!