使用微信的jssdk上传图片到自己的服务器media_id

1.拍照或从手机相册中选图接口
wx.chooseImage({

count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
    var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
}

});

2.上传图片接口
wx.uploadImage({

localId: '', // 需要上传的图片的本地ID,由chooseImage接口获得
isShowProgressTips: 1, // 默认为1,显示进度提示
success: function (res) {
    var serverId = res.serverId; // 返回图片的服务器端ID
}

});

3.下载多媒体文件
公众号可调用本接口来获取多媒体文件。请注意,视频文件不支持下载,调用该接口需http协议。
接口调用请求说明
http请求方式: GET
http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID

在进行第三步操作总是提示media_id无效,看到之前有很多人遇到这个问题,但是都没有解决方案,不知道有人知道没有?

阅读 4.3k
评论 更新于 2016-07-21
    4 个回答

    这个功能我做过,没有遇到这种问题;
    你确定media_id是图片的服务器端ID?

    评论 赞赏 2016-07-21
      一悻
      • 238

      已解决,是因为access_token的问题,之前用的access_token在7200秒内过会改变,之后改成每次都重新获取access_token就可以了

      但是这个也不是解决办法啊,微信对这个是获取频率是有限制的

      评论 赞赏 2016-07-21
        尐刚
        • 3
        • 新人请关照

        access_token有效期 7200秒,获取之后自己保留。同时保留时间。每次取之前先判断一下时间。如果未过期就不用重新获取。

        评论 赞赏 2018-03-01
          十万个为甚
          • 2
          • 新人请关照

          请问楼主解决了吗?

          该答案已被忽略,原因:

          评论 赞赏 2018-07-02
            撰写回答

            登录后参与交流、获取后续更新提醒