小程序直接上传图像到腾讯COS对象存储器要点

小白我最近要把图像直接保存在COS上,不要问我COS是什么,不知到找度娘。COS买好了,自己也可以在COS手动上传图像。然后在百度度了一堆代码,复制上去:

//这句加在开头的getApp()下面一行

var COS = require('/cos-wx-sdk-v5.js')

uploadImgFile: function() {//打开图库,选择图片

  this.setData({ motto: "选择图片" }),

  wx.chooseImage({

    count: 3,//限制一张图片

    sizeType: ['original', 'compressed'],

    sourceType: ['album', 'camera'],

    success :res => {

      // tempFilePath可以作为img标签的src属性显示图片

      const tempFilePaths = res.tempFilePaths;//注意是数组

      console.log(tempFilePaths[0]);

      this.setData({imgFileLocalPath:tempFilePaths[0]});//取第一个元素

      this.setData({ motto: "已选择本地图片:"+this.data.imgFileLocalPath });

      this.setData({usermotto_uploadcos_class:'usermotto_uploadcos_show'});

      this.setData({needUploadFilePath:tempFilePaths[0]});

      this.setData({needUploadFileName:this.data.needUploadFilePath.substr(this.data.needUploadFilePath.lastIndexOf('/') + 1)});//提取文件名 

    }

  })

},

//方法结束

//javascript

//上传图片到cos

uploadImgFile2TC:function(){

  var _this = this;

 // var cos=getCosObj();//构建cos 对象,下面有单独定义

 //生成签名:

 var cos = new COS({

  SecretId: 'AKIDGI4ZolSs1sSmoa5LL3UeYXXSaOwEEyRDj',

  SecretKey: 'FFxOYS5QUIp66pHSN1OXXX3lCLDo8Av'

})

  console.log(cos);

  var filename=_this.data.needUploadFileName;

  var filePath=_this.data.needUploadFilePath;

  //上传文件

    //上传文件

    cos.postObject({

      Bucket: 'XXXXX-1259629562', //存储桶名称

      Region: 'ap-guangzhou', //地域名字

      Key: this.getTimeString() + '.jpg', //文件名字

      StorgeClass: 'STANDARD', //存储方式

     // FilePath: file, //上传对象

     FilePath: filePath, //上传对象

      onProgress: function (progressData) {

        // 进度条

        console.log(JSON.stringify(progressData));

      }

    },function (err, data) {

      console.log(err || data);

      if(data!=null){

        var fileCosFilePath=data.Location;//上传成功之后,返回路径信息,用于后台存库

        console.log("file cos path:="+fileCosFilePath);

        _this.setData({ motto: "腾讯云地址:" +fileCosFilePath});

        _this.setData({imgFileLocalPath:fileCosFilePath});

        _this.setData({usermotto_uploadcos_class:'usermotto_uploadcos_hide'});

      }      

  });

},

// 文件名称

getTimeString: function () {

  var date = new Date();

  var yy = date.getFullYear().toString();

  var mm = (date.getMonth() + 1).toString();

  var dd = date.getDate().toString();

  var hh = date.getHours().toString();

  var nn = date.getMinutes().toString();

  var ss = date.getSeconds().toString();

  var mi = date.getMilliseconds().toString();

  var ret = yy + mm + dd + hh + nn + ss + mi;

  return ret;

},

点击运行,一堆错误,仔细查找,以下原因:shi

1、cos-wx-sdk-v5.js没有导入,如果不知到怎么导入,下载我的源码,找到这个文件,复制在你使用的页面下即可。

2、配置COS参数:

 SecretId: 'AKIDGI4ZolSs1sSmoa5LL3UeYBWaOwEEyRDj',

  SecretKey: 'FFxOYS5QUIp66pHSN1OTHo43lCLDo8Av'

  Bucket: 'XXXXX-1259629562', //存储桶名称

      Region: 'ap-guangzhou', //地域名字

  这些参数哪里找呢?小白开始也是七窍通了六窍啊,度呀度,别人告诉我也不知道呀,没老师,真心的难。最后走了很多弯路才搞明白,其实大家说的都对,单那些是对那些底子好的码农,对于小白我真心看不懂,话不多说,怎么查看呢?进入以下腾讯云以下界面:

可以看到我涂掉的桶名( Bucket)和地域名 (Region)

 点击配置,进入页面,点击页面的右上角,点击访问管理,坐下出现访问密匙,进入即可看见。如图:

填上去即可运行了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaozenbin

谢谢你的肯定

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值