uniapp分享微信缩略图压缩

686 阅读1分钟

问题: app内部页面分享到微信缩略图无法显示

解决: 在分享前进行一次图片压缩, 压缩到可以显示范围内 使用plus.zip.compressImage进行压缩(支持压缩图片种类比较多,Android支持jpg/jpeg、png等格式,IOS支持jpg/jpeg、png、tif/tiff、bmp、ico、cur、xbm等格式)

uni.downloadFile({
    url:shareImgUrl, //图片地址
    success: (res) => {
        console.log('下载成功',res)
        let name=res.tempFilePath.substr(res.tempFilePath.lastIndexOf('/')+1); //截取文件名
        plus.zip.compressImage({
            src: res.tempFilePath, //下载完图片的临时路径
            dst: '_doc/photoData/'+name, //存储压缩完图片的临时路径
            overwrite: true, //再次压缩会覆盖掉上次的目录
            width:'100px', //缩放图片的宽度
            height:'100px', //缩放图片的高度
            quality:10	//压缩图片质量,值越低,图片占内存越低				
        },
        function(event){ //压缩成功
            console.log('successCB',event)//压缩完成后的图片信息
            that.sharedata={
                href: '分享路径',
                title: '分享标题',
                summary: '分享描述',
                imageUrl: event.target,//缩略图,压缩完成后的图片地址
                id: '分享id'
            };
            that.$refs.sharepopup.open();
            return;
        },
        function(error){ //压缩失败
            console.log(error)
        })
    }
})