圖片API常用的接口


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) //服務器圖片地址數組               超出長度時后面的全部刪除

一直找不到解決辦法,只能用蠢的方式來


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM