腾讯云对象存储
对象存储(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)
})