腾讯云存储上传

// npm安装:npm i cos-js-sdk-v5 --save
import COS from 'cos-js-sdk-v5'

//上传腾讯云(data后端给的token等数据,file文件信息,obj回调)
var uploadFile = (data,file,obj) => {
    var keyall = (new Date()).getTime() + '1' + Math.floor(Math.random() * 10000) // 当前时间戳+随机数

    var cos = new COS({
        // 必选参数
        getAuthorization:(options, callback)=>{
            callback({
                TmpSecretId: data.credentials.tmpSecretId,
                TmpSecretKey: data.credentials.tmpSecretKey,
                XCosSecurityToken: data.credentials.sessionToken,
                // 建议返回服务器时间作为签名的开始时间,避免用户浏览器本地时间偏差过大导致签名错误
                StartTime: data.startTime, // 时间戳,单位秒,如:1580000000
                ExpiredTime: data.expiredTime, // 时间戳,单位秒,如:1580000900
            });
        },
        // 可选参数
        FileParallelLimit: 3, // 控制文件上传并发数
        ChunkParallelLimit: 3, // 控制单个文件下分片上传并发数
        ProgressInterval: 1000 // 控制上传的 onProgress 回调的间隔
    });
    cos.putObject({
        Bucket: data.bucket,
        Region: data.region,
        Key: data.prefix + keyall, // 此处我们需要把后端返回上传文件路径拼接才能访问(没拼之前报错403)
        Body: file,
    },(err, data)=>{
        if (data.statusCode === 200) {
            // console.log(data.Location)

            // 上传成功得到的资源地址
            let path = 'https://' + data.Location

            obj(path) // 回调
            Toast.clear();
        }
    });
}

注意:cos.putObject() 里面的 key

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值