小程序
小游戏
企业微信
微信支付
扫描小程序码分享
我创建了canvas 修改了一张图片的大小 然后使用 wx.canvasToTempFilePath 导出生成指定大小的图片,接着wx.uploadFile上传这张指定大小的图片,服务器的接口会处理它并返回给我这张图片的Base64。在这一系列过程中微信就奔溃了,直接闪退到手机桌面。开发工具和安卓机没问题,iphone 7 plus会奔溃。我猜测应该是返回base64的时候导致崩溃了,求解决!
8 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
请提供一下微信号
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
先依次去掉socket和上传文件的功能,看一下是那个功能的增加引起的崩溃。
麻烦确认下 canvasToTempFilePath 和 uploadFile 是否都成功支持,哪一个出现的崩溃
请提供能够复现问题的代码示例。请先确认是否是在请求接口过程中出错。
yy_fangxiaojian
首先去掉socket会奔溃
接着去掉uploadFile不会奔溃
是uploadFile这个功能
全都支持,因为我在开发工具和安卓机上都有测试过 ,都没有发生过奔溃的情况 。身边的机型有限 只测试到7P上有这个情况 。 7p上到 canvasToTempFilePath 执行下面的部分就无法跟踪了,直接屏幕一黑奔溃了返回到了手机桌面。
prodImageOpt: function () {
prodImageOpt:
function
() {
//程序到此处 把下面的注释 一切正常
var
that =
this
;
wx.canvasToTempFilePath({//到下面应该就开始奔溃了
canvasId:
'myCanvas'
,
success:
(res) {
wx.uploadFile({
url: config.imgConvertBase64,
filePath: res.tempFilePath,
name:
'file'
formData: {
},
(res) {//res里面会返回一个图片转化的base64字符串
data = JSON.parse(res.data);
if
(data.success =
true
) {
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:
(res){
console.log(
"上传失败了"
+res);
});
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
请提供一下微信号
先依次去掉socket和上传文件的功能,看一下是那个功能的增加引起的崩溃。
麻烦确认下 canvasToTempFilePath 和 uploadFile 是否都成功支持,哪一个出现的崩溃
请提供能够复现问题的代码示例。请先确认是否是在请求接口过程中出错。
yy_fangxiaojian
首先去掉socket会奔溃
接着去掉uploadFile不会奔溃
是uploadFile这个功能
全都支持,因为我在开发工具和安卓机上都有测试过 ,都没有发生过奔溃的情况 。身边的机型有限 只测试到7P上有这个情况 。 7p上到 canvasToTempFilePath 执行下面的部分就无法跟踪了,直接屏幕一黑奔溃了返回到了手机桌面。
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);
}
});
}
});
}