我用微信的js-sdk接口的wx.chooseImage选择图片,用wx.uploadImage上传图片,再用http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID上传下载多媒体文件接口下载图片到本地服务器,可总是报错{"errcode":40007,"errmsg":"invalid media_id"}无效媒体ID错误。
1、拍照或从手机相册中选图接口,得到图片的localIds。
wx.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
}
});
2、上传图片接口,得到serverId。
wx.uploadImage({
localId: '', // 需要上传的图片的本地ID,由chooseImage接口获得
isShowProgressTips: 1, // 默认为1,显示进度提示
success: function (res) {
var serverId = res.serverId; // 返回图片的服务器端ID
}
});
备注:上传图片有效期3天,可用微信多媒体接口下载图片到自己的服务器,此处获得的 serverId 即 media_id,参考文档 ../12/58bfcfabbd501c7cd77c19bd9cfa8354.html 目前多媒体文件下载接口的频率限制为10000次/天,如需要调高频率,请邮件weixin-open@qq.com,邮件主题为【申请多媒体接口调用量】,请对你的项目进行简单描述,附上产品体验链接,并对用户量和使用量进行说明。
3、通过“下载多媒体文件”接口
http请求方式: GET
http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID
下载已经上传到微信服务器的图片到本地服务器,但是总提示{"errcode":40007,"errmsg":"invalid media_id"}无效媒体ID错误。
调试了很久,就是弄不懂是什么问题,请高人指点,谢谢。
解决了,过程如下:
1、用微信开发者工具调试,返回的serverId: "1237378768e7q8e7r8qwesafdasdfasdfaxss111"是不对的,用手机调试,将serverId用alert显示在手机上(我是直接在服务器上保存文件,文件名用serverId,只是文件是空的)。
2、将这个serverId当成media_id,用微信公众平台接口调试工具调下载多媒体文件接口,能够正常下载图片,说明程序的jssdk配置、调用都是正常的,不用怀疑。
3、检查后台php程序,有问题,下载不了,网上有的php后台程序是有问题的,改换一个就ok了。
总结:后台下载程序出现问题,采用微信开发则工具返回的serverId,发get请求(http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID),永远都会报错。原因是采用微信开发则工具返回的serverId是错误的(有人说是假的),不知腾讯为何要这样做?
前两天遇到类似的问题了 蛋疼的要死 我是录音上传出现这个问题 直接说答案了 原因有两个可能 具体后台没排查 一个是加载config信息时控制字符编码格式的属性相关
之前的接口他们没有添加 第二个是因为之前的加载config信息的接口和生成签名的接口不同 保持这几个相同之后没问题了 如果再有遇到这个问题的可以尝试
检查下是不是这两个原因
http://my.oschina.net/u/2308739/blog/371414
请问你这个问题解决了么?我现在也遇到和你相同的问题...
请问你这个问题解决了么?我现在也遇到和你相同的问题
请问你这个问题解决了么?我现在也遇到和你相同的问题
请问你这个问题解决了么?我现在也遇到和你相同的问题
请问你这个问题解决了么?我现在也遇到和你相同的问题
我搞了一天查了一天也搞不好,你解决了这个问题吗?
怎么解决啊.有客服吗?
我也是,遇到了同样的问题,弄了一天也没解决
楼主最后是怎么解决问题的?