使用微信公众号测试账号开发,遇到使用jssdk下的jweixin.uploadVoice()上传录音,每次返回的serverId都相同:
1237378768e7q8e7r8qwesafdasdfasdfaxss111
localId不同,
然后去后台下载录音文件结果都是
{"errcode":40007,"errmsg":"invalid media_id hint: [ON83ta01218661]"}
测试号appid:wx5cb57aa45095d16e
使用的微信开发者工具:
代码如下:
jweixin.uploadVoice({ localId: self.localId, // 需要上传的音频的本地ID,由stopRecord接口获得 isShowProgressTips: 1, // 默认为1,显示进度提示 success: function (res) { var serverId = res.serverId; // 返回音频的服务器端ID console.log( 'serverId' ,serverId); uni.request({ url: serverUrl + '/file/downloadFromWechatServer' , data:{ serverId:serverId }, success(res1) { console.log( '成功' ); } }) } }); |
java后台:
try { String mediaId = request.getParameter( "serverId" ); String url = "http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=" + accessToken + "&media_id=" + mediaId; AccessToken.saveUrlAs(url, "D:/upload" , "GET" , "fileName" ); } catch (Exception e) { e.printStackTrace(); } |
其实这个固定id不影响调试,我也是刚刚证实了,这是正确代码:
这是有40007错误的代码:
保存文件的路径错误也会引发40007错误。。。。。。。
意思这个bug就解决不了,只能是真机alert了吗,领导和我说那是个bug,只能真机测了,我说用的好好的突然就不行了,问题是我后台代码也不执行,这边也看不到,图片上传成功不校验,市场部那边反馈的问题得解决啊.不友好啊这微信开发者
🐶☀️🐧请在文档里写清楚好不好
楼主好人,骂一句开发工具,浪费我这么久,还以为哪里出问题了
真jier坑
必须扫码登录上来骂一句,真tm坑爹,浪费两个多小时,我还以为是测试公众号的缘故。。。。
楼主好人
楼主好人,真是开发者工具的问题,换真机一点事没有。。。
浪费了2小时排查,我还以为我代码有问题,结果这玩意开发工具确实都返回一样的serverId。真机alert一点问题都没有。
我跟你遇到的问题一样,但是我在手机上发送之后,无法播放语音,请问怎么回事