图片API常用的接口

时间:2021-03-30 13:33:16   收藏:0   阅读:0

1.图片API

 // 查看图片API
  previewImage(e) {
    console.log(e)
    var _this = this
    my.previewImage({ //查看图片的接口
      current: e.target.dataset.id, //点击图片时显示的位置,比如我点开第三张图,显示的就是3
      urls: _this.data.photos, //点击图片时显示的图片数组,根据current拿到下标显示对应图片
    });
  },
  // 调用图片API
  chooseImage() {var _this = this
    if (this.data.photoNum <= 0) { //限制最多几张图片,图片上限了直接终止这个函数,下面的不执行
      commonShowToast("none", "最多上传6张图片,你已达上限")
      return;
    }
    my.chooseImage({ //调用相机相册的接口
      sourceType: [‘album‘], //拍照和相册,安全问题拍照不能使用,只写相册
      count: _this.data.photoNum, //最多上传的图片数
      success: (res) => { //成功调用返回的函数
        my.compressImage({ //压缩图片的接口
          apFilePaths: res.apFilePaths,
          compressLevel: 3, //不压缩,0-4各对应低、中、高、不压缩、根据网络
          success: data => {
            console.log(data);
            var compressdata = data.apFilePaths
            console.log("compressdata", compressdata)
            var photoUrl = compressdata
            photoUrl.forEach(item => {
              var fileSize = ‘‘;
              my.getFileInfo({ //限制文件大小的接口
                apFilePath: item,
                success: (result) => {
                  console.log(‘fileInfo‘, result.size)
                  fileSize = result.size
                  console.log(‘filesize‘, fileSize)
                  //限制图片上传不得大于5MB
                  if (fileSize > 5242880) {
                    console.log(‘filesize‘, fileSize)
                    commonShowToast(‘none‘, ‘图片上传大小不得超过5MB,请重新上传‘)
                    return;
                  }
                },
              });

2.出现的坑

  有时网络不好,还没传上去,但是用户点击过快,会超出图片上限

if判断是否超出长度了,是的话执行
              imglist.splice(imglist.length-1,1) //本地图片地址数组               fileIdList.splice(fileIdList.length-1,1) //服务器图片地址数组               超出长度时后面的全部删除

一直找不到解决办法,只能用蠢的方式来

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!