小程序使用sdk对接cos存储桶

官方文档地址:https://cloud.tencent.com/document/product/436/31953

操作步骤

下载cos sdk

安装

复制源码文件中的 cos-wx-sdk-v5.js 到自己小程序代码根目录下任意路径,并用相对路径引用:

小程序域名白名单配置

微信公众平台,选择开发 > 开发设置 > 服务器域名
配置地址: examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com

request合法域名、uploadFile合法域名

配置地址可以找后端或者cos上传成功会返回数据中有接口地址

初始化

javascript 复制代码
const COS = require('../../lib/cos-wx-sdk-v5.min.js')

/** 上传临时素材到cos */
uploadMaterialCos (tempFiles) {
  this.setData({
    isShowModal: false
  })
  console.log("tempFiles", tempFiles)
  const _this = this
  const { cosConfig } = _this.data
  wx.showLoading({
    title: '上传中...',
    mask: true
  })
  // 创建存储通对象
  var cos = new COS({
    SecretId: cosConfig.secretId, // 获取的密钥id
    SecretKey: cosConfig.secretKey // 获取的密钥key
  })
  tempFiles.forEach(item => {
    cos.uploadFile({
      Bucket: cosConfig.bucket, /* 必须 */
      Region: cosConfig.region, /* 存储桶所在地域,必须字段 */
      Key: item.key, /* 必须 */
      FilePath: item.path, /* 必须 */
      FileSize: item.size, /* v1.4.3之前的版本必须,v1.4.3及以后的版本非必须 */
      onProgress: function (progressData) { /* 非必须 */
        console.log(JSON.stringify(progressData))
      },
      onFileFinish: function (err, data, options) { /* 非必须 */
        console.log(options.Key + '上传' + (err ? '失败' : '完成'), data)
        _this.uploadMaterial(data, item)
      }
    }, function (err, data) {
      console.log('err', err || data)
      _this.setData({
        isShowModal: false
      })
    })
  })
},

配置信息获取通过后端api

javascript 复制代码
handleCosCredential () {
  cosCredentialApi({}).then(res => {
    const { code, data } = res
    if (code === 200) {
      this.setData({
        cosConfig: data
      })
    } else {
      wx.showToast(res.message)
    }
  }).catch(err => {
    wx.showToast(err.message)
  })
},

cos参数

上传成功

图片

视频

视频太大,分段上传,取值地址在最外面

相关推荐
wqq_9922502772 小时前
springboot基于微信小程序的食堂预约点餐系统
数据库·微信小程序·小程序
licy__8 小时前
微信小程序登录注册页面设计(小程序项目)
微信小程序·小程序
说私域1 天前
基于“开源 2+1 链动模式 S2B2C 商城小程序”的社区团购运作主体特征分析
大数据·人工智能·小程序
HUODUNYUN1 天前
小程序免备案:快速部署与优化的全攻略
服务器·网络·web安全·小程序·1024程序员节
guanpinkeji1 天前
二手手机回收小程序,一键便捷高效回收
微信小程序·小程序·软件开发·手机回收小程序·二手手机回收
paterWang1 天前
小程序-基于java+SpringBoot+Vue的小区服务管理系统设计与实现
java·spring boot·小程序
尘浮生1 天前
Java项目实战II基于微信小程序的私家车位共享系统(开发文档+数据库+源码)
java·开发语言·数据库·学习·微信小程序·小程序·maven
tundra382 天前
DTH11传感器温度湿度+esp8266+阿里云+小程序
阿里云·小程序·云计算
虞书欣的62 天前
Python小游戏28——水果忍者
开发语言·人工智能·游戏·小程序·pycharm
坠入暮云间x2 天前
Nodejs开发仿马蜂窝旅游小程序API接口,服务器端开发,商家后台 Vue3+微信小程序+koa+mongodb+node.js
微信小程序·小程序·旅游