根据cos的上传API实现上传图片至腾讯云

首先需要在项目中安装依赖

npm i cos-js-sdk-v5 --save

使用cos.putObject api完成上传的功能

// 下面的代码是固定写法
const COS = require('cos-js-sdk-v5')
// 填写自己腾讯云cos中的key和id (密钥)
const cos = new COS({
  SecretId: 'xxx', // 身份识别ID
  SecretKey: 'xxx' // 身份秘钥
})

其中SecretId和SecretKey是创建存储桶配置API秘钥生成的

// 执行上传操作
    cos.putObject(
          {
            Bucket: 'che-che-1307111563' /* 存储桶 */,
            Region: 'ap-beijing' /* 存储桶所在地域,必须字段 */,
            Key: res.file.name /* 文件名 */,
            StorageClass: 'STANDARD', // 上传模式, 标准模式
            Body: res.file, // 上传文件对象
            // 设置上传的进度条
            onProgress: progressData => {
              console.log(JSON.stringify(progressData))
              this.percent = progressData.percent * 100
            }
          },
          (err, data) => {
            // 隐藏进度条
            this.showPrograss = false
            console.log(err || data)
            // 上传成功之后
            if (data.statusCode === 200) {
              const urlImg = `https://${data.Location}`
              this.$emit('input', urlImg)
            }
          }
        )

上传图片使用el-upload,上传进度条使用el-progress

<el-upload
      class="avatar-uploader"
      action="#"
      :show-file-list="false"
      :on-success="handleAvatarSuccess"
      :before-upload="beforeAvatarUpload"
      :http-request="upload"
    >
      <img v-if="value" :src="value" class="avatar" />

      <i v-else class="el-icon-plus avatar-uploader-icon" />
      <el-progress v-if="showPrograss" type="circle" :percentage="percent" class="progress" />
    </el-upload>
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值