腾讯对象存储COS JS SDK
最近在搞自己的网盘,折腾了华为、阿里、腾讯、七牛等几家公司的对象存储,总体上来说开发过程类似,但是也算各有千秋吧,,经过几番考虑,最终放弃了用了三年的阿里云OSS,选择了腾讯云COS,原因有几个:
1、客户端SDK丰富、上手快,对前端比较友好,文档齐全(个人觉得腾讯系为数不多的好文档)
2、开发流程相对简单,没有过多的复杂操作
3、工单系统响应良好,方便解决问题
4、客户端体验较好,以上四种云存储的客户端中,个人认为体验比较好的顺序:腾讯 -> 华为 -> 阿里 -> 七牛
上代码:
import COS_SDK from 'cos-js-sdk-v5'
// COS配置
let config = {
name: '桶名',
area: '地域',
id: 'ID',
key: 'KEY'
}
// 创建客户端
const client = new COS_SDK({
SecretId: config.id,
SecretKey: config.key,
})
const cos = {
// 上传
up (params){
return new Promise((resolve, reject) => {
client.putObject({
Bucket: config.name,
Region: config.area,
Key: params.name,
StorageClass: 'STANDARD',
Body: params.body,
onProgress: params.progress
}, function(err, data) {
if(err) reject(err);
else resolve(data);
});
})
},
// 获取带签名的URL
getUrl (name){
return new Promise((resolve, reject) => {
client.getObjectUrl({
Bucket: config.name,
Region: config.area,
Key: name
}, function(err, data){
if(err) reject(err);
else resolve(data);
})
})
},
}
export default cos
开发之前,建议先阅读腾讯cos开发文档。
----- 2020.10.26 更新
SDK包安装:
npm install cos-js-sdk-v5
本文标签: 腾讯cos