实战篇笔记 扫码点餐小程序云开发(八)


腾讯云对象存储

对象存储(Cloud Object Storage,COS)是腾讯云提供的一种存储海量文件的分布式存储服务,具有高扩展性、低成本、可靠安全等优点。

文档传送门

安装 SDK

npm i cos-nodejs-sdk-v5 --save

创建存储桶

获取 SecretId、SecretKey

使用 Upload File 接口

Upload File 实现高级上传,传入参数 SliceSize 可以控制文件大小超出一个数值(默认1MB)时自动使用分块上传,否则使用简单上传

const COS = require('cos-nodejs-sdk-v5')

var cos = new COS({
  SecretId: 'SECRETID',
  SecretKey: 'SECRETKEY',
  Protocol: 'https:'
})

let Bucket = 'examplebucket-1250000000'
let Region = 'COS_REGION'
let codfun = function (filename, path) {
  return new Promise((resolve, reject) => {
    cos.uploadFile({
      Bucket,
      Region,
      Key: filename,        // 对象在存储桶中的唯一标识
      FilePath: path        // 本地文件路径
    }).then(res => {
      resolve(res.Location) // 对象的外网访问域名
    }).catch(err => {
      reject(err)
    })
  })
}

路由页调用接口

const {upload, codfun} = require('../../cos/cos.js')

router.post('/uploadres', upload.single('file'), async ctx => {
  codfun(ctx.file.filename, ctx.file.path)
})

在 postman 发送请求

nodemon-upload3.png

服务器端接受到文件

nodemon-upload4.png


文章作者: April-cl
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 April-cl !
  目录