收藏
回答

wx.compressImage的压缩问题,及电脑开发工具,跟安卓手机不一样等问题?

我发现用这个wx.compressImage方法来压缩jpg文件有很大的问题。

问题一,用‘微信开发者工具’(下面简称:电脑)跟手机‘开发版’上传同一张图片。压缩后的体积不一样。这里用了一张 1.47 MB= 1537177 Byte大小的图片。电脑上传的是

手机上传得到的是:

明显的看得出区别非常大,,,,,

还有一个问题,就是手机上传,用了压缩方法的比原来的图片还大!!

原来!264.01 KB= 270350 Byte

压缩后!296.56 KB= 303678 Byte

我很不解。。。。。


代码在这里:

//增加图片 选项图片

    addImageTap(e) {

        let that = this

        let tempFiles = this.data.tempFiles

        wx.chooseMedia({

            count: 9,

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

            sourceType: ['album'],

            success(res) {

                console.log(res)

                if (res.type == "video"{

                    wx.showToast({

                        title: '目前暂不支持上传视频。',

                        icon: 'none',

                        duration: 3000

                    })

                    return

                }

                console.log(res.tempFiles[0].tempFilePath)

                wx.getImageInfo({

                    src: res.tempFiles[0].tempFilePath,

                    success(res) {

                        console.log(res,'1111')

                    }

                })

                that.uploadingImage(res.tempFiles[0].tempFilePath)//上传到云存储

                wx.compressImage({

                    src: res.tempFiles[0].tempFilePath, // 图片路径

                    quality: 0, // 压缩质量

                    success(res) {

                        console.log(res)

                        that.uploadingImage(res.tempFilePath)

                        wx.getImageInfo({

                            src: res.tempFilePath,

                            success(res) {

                                console.log(res,'2222')

                            }

                        })

                    }

                })


                let arr = tempFiles.concat(res.tempFiles)

                that.setData({

                    tempFiles: arr

                })

            }

        })

    },

备注:我手机有点原图,为了严谨。原图跟压缩图,我都一起上传到云存储,所以不存在数据不对的问题。。。

 Byte

回答关注问题邀请回答
收藏

6 个回答

  • 2022-05-28

    chooseImage和compressImage这两个api像迷一般,经过多次测试

    1.chooseImage配置项sizeType: ['original', 'compressed']压缩图片, 开发工具和pc端小程序均无效。同一台手机上大概率有效,偶尔无效。

    2.pc端小程序使用compressImage压缩后没有后缀

    3.compressImage压缩后,图片比原图还大(偶现)

    总结:使用微信自带的压缩图片方法极不靠谱

    2022-05-28
    有用 1
    回复
  • (๑・ . ・๑)
    (๑・ . ・๑)
    2022-03-24

    而且我还发现,用电脑压缩后的地址没有后缀。。。

    2022-03-24
    有用 3
    回复 4
    • 222222
      222222
      发表于移动端
      2022-03-24
      2022-03-24
      回复
    • (๑・ . ・๑)
      (๑・ . ・๑)
      2022-03-26
      有没有解决办法啊,急
      2022-03-26
      1
      回复
    • (๑・ . ・๑)
      (๑・ . ・๑)
      2022-03-31
      有没有官方技术人员 进来看看啊?
      2022-03-31
      回复
    • 孜然
      孜然
      2022-09-26
      对的,电脑压缩地址是没有后缀的,今天刚踩这坑orz
      2022-09-26
      1
      回复
  • 江丘陵
    江丘陵
    2022-10-01

    半年过去了,问题仍然存在,我很好奇这种api是怎么上线的?浪费了我半天时间,还浪费了表情

    2022-10-01
    有用
    回复
  • Gan
    Gan
    2022-08-01

    解决了吗,大佬

    2022-08-01
    有用
    回复 2
    • 五金建材13609249003
      五金建材13609249003
      发表于移动端
      2022-08-09
      卜卜卜卜 38
      2022-08-09
      回复
    • (๑・ . ・๑)
      (๑・ . ・๑)
      2022-10-01
      没有,我自己写了一个压缩api。不用他的。
      2022-10-01
      回复
  • 舍德
    舍德
    发表于移动端
    2022-03-25
    开心群
    2022-03-25
    有用
    回复
  • 红小豆
    红小豆
    2022-03-24

    本身存在,你不会才发现吧

    2022-03-24
    有用
    回复 2
    • (๑・ . ・๑)
      (๑・ . ・๑)
      发表于移动端
      2022-03-25
      有什么解决办法吗?
      2022-03-25
      回复
    • (๑・ . ・๑)
      (๑・ . ・๑)
      2022-03-31
      请问有什么解决办法吗?
      2022-03-31
      回复
登录 后发表内容