微信开发--上传到微信的图片如何能拿到http开头的路径?

在微信上用chooseImage去图库选图片或者拍照后,会返回一个res.localIds,形式如:weixin://resourceid/5585316。用这个路径可以在微信里面显示,同样把这个路径通过uploadImage可以上传到微信的服务器,会返回一个serverId,通过这个serverId调用downloadImage返回来的图片路径居然还是weixin://resourceid/5585316这种类型的路径。。但是要把图片也存到我们的服务器,后端提供的接口是要给他提供http的那种路径,请问我想上传这张图片到服务器,该如何做呢?

阅读 7.9k
2 个回答

好吧,我忽略了题主只想要图片在微信服务器上的地址,我把答案修改为:

据我所知微信并没有提供这样的方法,所以你拿不到

如有高手指导请赐教。

-------------------------

你应该仔细阅读微信的官方文档,这个问题文档中有非常清楚的说明。

你可以使用access_tokenmedia_id通过「下载多媒体文件」接口来获得图片。该接口需要 http 协议,不支持视频文件。

http://mp.weixin.qq.com/wiki/12/58bfcfab...

step1:拿到localId[s]

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

step2:获取图片的base64字符串 localData。

wx.getLocalImgData({
localId: '', // 图片的localID
success: function (res) {
var localData = res.localData; // localData是图片的base64数据,可以用img标签显示
}
});

step3:将base64上传到自己的cdn或者啥。。。然后应该可以拿到你要的url

https://mp.weixin.qq.com/wiki...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题