iphone 7 plus 小程序导致微信奔溃
发布于 5 年前 作者 ryao 1315 次浏览 来自 问答

我创建了canvas 修改了一张图片的大小 然后使用 wx.canvasToTempFilePath 导出生成指定大小的图片,接着wx.uploadFile上传这张指定大小的图片,服务器的接口会处理它并返回给我这张图片的Base64。在这一系列过程中微信就奔溃了,直接闪退到手机桌面。开发工具和安卓机没问题,iphone 7 plus会奔溃。我猜测应该是返回base64的时候导致崩溃了,求解决!

8 回复

请提供一下微信号

麻烦确认下 canvasToTempFilePath 和 uploadFile 是否都成功支持,哪一个出现的崩溃

prodImageOpt: function () {

//程序到此处 把下面的注释 一切正常

  var that = this;
  wx.canvasToTempFilePath({//到下面应该就开始奔溃了
    canvasId: 'myCanvas',
    success: function (res) {
      wx.uploadFile({
        url: config.imgConvertBase64,
        filePath: res.tempFilePath,
        name: 'file',
        formData: {
        },
        success: function (res) {//res里面会返回一个图片转化的base64字符串  
          var data = JSON.parse(res.data);
          if (data.success = true) {
            var parameter = {
              OpenId: app.globalData.openid,
              FileData: data.base64,
              FileName: data.imgname
            }
            webSocket.startWebSocket.closeSocket();
            webSocket.startWebSocket.connectSocket("WeChatFileUpload", parameter);
            webSocket.startWebSocket.onSocketMessage(that.UploadResult);
          }
        },
        fail:function (res){
          console.log("上传失败了"+res);
        }
      });
    }
  });
}

首先去掉socket会奔溃

接着去掉uploadFile不会奔溃

uploadFile这个功能

全都支持,因为我在开发工具和安卓机上都有测试过 ,都没有发生过奔溃的情况 。身边的机型有限 只测试到7P上有这个情况 。 7p上到 canvasToTempFilePath 执行下面的部分就无法跟踪了,直接屏幕一黑奔溃了返回到了手机桌面。

先依次去掉socket和上传文件的功能,看一下是那个功能的增加引起的崩溃。

yy_fangxiaojian

请提供能够复现问题的代码示例。请先确认是否是在请求接口过程中出错。

回到顶部