欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

微信小程序 show-menu-by-longpress base64图片 ios下载图片无效

程序员文章站 2022-03-11 16:16:37
ios对小程序base64支持不太,具体原因没有深入研究,反正挺坑的,解决方案为把base64转换为本地图片然后再引用即可。代码方案如下:前端代码片段:......

  ios对小程序base64支持不太好,具体原因没有深入研究,反正挺坑的,解决方案为把base64转换为本地图片然后再引用即可。

代码方案如下:

前端代码片段:

      <image   mode="aspectFit "  show-menu-by-  longpress  class="haibaoimg"  src="{{ imgSrc }}"   wx:if='{{ imgSrc.length>0 &&  imgtype =="2"}}'/>

 

 

js代码片段:

util.requestUrl({

        url: '/spread/getMinaCode.e',

        params: {

          activityId: activityId,

          prodOfferId: prodOfferId,

          spreadFlag: spreadFlag,

          pid: pid

        }

      }).then(res => {

         wx.hideLoading();

        if (res.resultCode = "getMinaCodeSuccess") {

          var base64Data = res.resultObject.resultObject;

          /// 通过微信小程序自带方法将base64转为二进制去除特殊符号,再转回base64

          base64Data = wx.arrayBufferToBase64(wx.base64ToArrayBuffer(base64Data.replace(/[\r\n]/g, "")));

          /// 拼接请求头,data格式可以为image/png或者image/jpeg等,看需求

          this.setData({

            imgtype:res.resultObject.resultCode+''

          });

          // this.setData({

          //   imgSrc:'data:image/jpeg;base64,'+  base64Data

          // });

          const fs = wx.getFileSystemManager();

          //定义路径名称

           let codeimg = wx.env.USER_DATA_PATH + '/spreadHaibao.png';

          //将base64图片写入

          let that=this;

          fs.writeFile({

            filePath: codeimg,

            data: base64Data,

            encoding: 'base64',

            success: (res) => {

              //写入成功了的话,新的图片路径就能用了

              console.log(res)

              console.log(codeimg)

              that.src2=codeimg;

              that.setData({

                imgSrc:codeimg

              });

            }

          });

         

        } else {

          wx.showToast({

            title: res.resultDesc || '请求出错',

            icon: 'none',

            duration: 2000,

            mask: true

          })

        }

 

      })

本文地址:https://blog.csdn.net/IT837684734/article/details/107945872