上传图片到腾讯对象存储

上传图片

自定义上传----上传到腾讯云—>腾讯云返回图片地址— 通过input事件把图片地址传给父组件

  • 创建腾讯云存储桶列表 获取密钥,存储桶名称和地域名称
  • 下载 cos-js-sdk-v5
npm i cos-js-sdk-v5
  • 引入
import COS from 'cos-js-sdk-v5'
  • 使用
// 选择图片上传
            uploadImage(params) {
              console.log(params.file)
              const cos = new COS({
                SecretId: 'xxxxx',
                SecretKey: 'xxxxx'
              }) // 完成cos对象的初始化
              cos.putObject({
                Bucket: 'xxx', // 存储桶名称
                Region: 'ap-nanjing', // 地域名称
                Key: params.file.name, // 文件名称
                StorageClass: 'STANDARD', // 固定值
                Body: params.file // 文件对象
              }, (err, data) => {
                if (data.statusCode === 200 && data.Location) {
                  // 拿到了腾讯云返回的地址  data.Location
                  // 通过input自定义事件将地址传出去
                  this.$emit('input', 'http://' + data.Location) // 将地址返回了
                } else {
                  this.$message.error(err.Message) // 上传失败提示消息
                }
              })
            }
  • el-upload
 <el-upload
        class="avatar-uploader"
        action=""
        :show-file-list="false"
        :before-upload="beforeAvatarUpload"
        :http-request="uploadImage"
    >
    <img v-if="value" :src="value" class="avatar">
    <i v-else class="el-icon-plus avatar-uploader-icon"></i>
    </el-upload>
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在UniApp中,你可以使用uni.uploadFile方法将本地文件上传到腾讯对象存储。首先,你需要在uni.uploadFile的url参数中指定腾讯对象存储的上传接口地址。然后,你可以通过files参数传递一个图片地址对象数组,其中每个对象包含name和uri属性,name是文件的字段名,uri是文件的本地路径。接下来,你可以使用formData参数传递其他需要的参数,比如用户信息等。最后,在success回调函数中,你可以处理上传成功后的逻辑,比如打印返回的数据。以下是一个示例代码: ```javascript uni.uploadFile({ url: 'https://www.example.com/upload', // 腾讯对象存储的上传接口地址 files: 图片地址对象数组, // 包含name和uri属性的图片地址对象数组 formData: { 'user': 'test' // 其他需要的参数 }, success: (res) => { console.log(res.data); // 处理上传成功后的逻辑 } }); ``` 在上传文件之前,你可能需要将传过来的图片路径数组转换为UniApp要求的key-value格式。你可以使用以下代码将传过来的图片path数组转换为指定格式: ```javascript var filelist = \[\]; for (var i = 0; i < imgList.length; i++) { var obj = {}; obj.name = "img" + i; obj.uri = imgList\[i\]; filelist.push(obj); } ``` 这样,你就可以在UniApp中将本地文件上传到腾讯对象存储了。 #### 引用[.reference_title] - *1* [uniapp文件上传(任意文件,多文件上传)](https://blog.csdn.net/weixin_45016896/article/details/122259819)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [UniApp文件上传](https://blog.csdn.net/qq_36407919/article/details/124574839)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值