重庆互联网,19年企业互联网解决经验,专业网站开发、移动端开发、微信端开发、小程序开发!
重庆网络推广公司

微信云托管教程(114):对象存储-COS-SDK服务端使用(一)

作者:重庆互联网小徐 发布时间:2024-03-13 浏览:19850 赞(1950 收藏 评论(0)

COS-SDK主要使用步骤如下:

  1. 使用开放接口服务获取临时密钥。

  2. 使用临时密钥初始化COS-SDK

  3. 使用COS-SDK做增删改查等操作。

  4. 上传文件时,需要使用开放接口服务获取文件元数据,保证小程序端可以访问。

使用限制

  1. 文件缺少元数据时,小程序端 无法访问,请务必参考本文档获取文件元数据并正确写入。

  2. 云托管域名请求体大小限制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年的开发经验和完善的售后服务体系获得合作客户的高度认可!

关注重庆互联网官方公众号,即可获取粉丝专享福利!

重庆互联网公众号二维码.jpg

网友留言评论
我要评论
评论

欢迎广大用户为此页面进行评价,评价成功将获得积分奖励!

  • 赞(0
    踩(0
重庆网站定制建设
  • 重庆网站建设平台
  • 重庆网站优化公司
  • 重庆网络推广公司哪家好
  • 重庆APP制作公司
版权所有 ©2004-2024 重庆市渝中区圣灵科技信息有限公司 渝ICP备16004600号-14 渝公网安备50010802001420号 电子营业执照
重庆公众号制作哪家好
二维码
联系客服 重庆商城网站建设