使用微信公众号测试账号开发,遇到使用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(); } |
楼主好人,骂一句开发工具,浪费我这么久,还以为哪里出问题了
真jier坑
必须扫码登录上来骂一句,真tm坑爹,浪费两个多小时,我还以为是测试公众号的缘故。。。。
楼主好人
楼主好人,真是开发者工具的问题,换真机一点事没有。。。
浪费了2小时排查,我还以为我代码有问题,结果这玩意开发工具确实都返回一样的serverId。真机alert一点问题都没有。
我跟你遇到的问题一样,但是我在手机上发送之后,无法播放语音,请问怎么回事
这种情况就是要发布测试版才能测试了喽?可以在开发文档中备注详细么?
垃圾工具,耽误老子时间
localId: localIds.toString(), 试试格式转换下