腾讯cos云存储封装

import COS from 'cos-js-sdk-v5'; //下载包 npm install cos-js-sdk-v5

const SecretId = '密钥ID';
const SecretKey = '密钥key';
const Bucket = '桶名';
const Region = '地域';

const client = new COS({
  SecretId: SecretId,
  SecretKey: SecretKey,
});

/**
 * 腾讯cos云存储
 * @param {上传是设置文件key, 一般为文件名称} objectKey
 * @param {文件file} file
 */
const uploadOss = (file) => {
  let objectKey = file.lastModified + '_' + file.name; //动态拼接时间戳,防止重名替换
  return new Promise((resolve, reject) => {
    client.putObject({
      Bucket: Bucket,
      Region: Region,
      Key: objectKey,
      StorageClass: 'STANDARD',
      Body: file,
    }, function (err, data) {
      if (err) reject(err);
      else resolve({
        code: 1,
        url: 'https://' + data.Location,
        msg: 'ok'
      });
    });
  })
};

export default uploadOss;

注:前端使用固定密钥计算签名,该格式适用于前端调试,若使用此格式,请避免泄露密钥

 

posted @ 2021-05-26 09:30  a茶色  阅读(233)  评论(0)    收藏  举报