第一件事首先是微信的选择图片功能,就是微信发朋友圈选择图片的时候那个界面
//调用微信拍照功能 wx.chooseImage({ count: 1, // 默认9 sizeType: ['original', 'compressed'], //原图-压缩图 sourceType: ['album', 'camera'], //指定来源是相册还是相机 success: function (res) { let localIds = res.localIds; syncUpload(localIds); } });
其中syncUpload函数功能为上传图片到微信服务器中
var syncUpload = function (localIds) { var localId = localIds.pop(); //上传图片 wx.uploadImage({ localId: localId, isShowProgressTips: 1, success: function (res) { // 返回图片的服务器端ID var serverId = res.serverId; $.ajax({ url: "", data: { media_id: serverId }, success: function (data) { alert("你的图片路径地址是:" + data); }, erro: function (erro) { alert(erro); } }) } }); };
中间空着的url地址则是自己的后台处理这个事件的地址
我使用的是C# ,处理代码如下
if (Request["media_id"]!=null) { string media_id = Request["media_id"].ToString(); string url = "http://file.api.weixin.qq.com/cgi-bin/media/get?access_token="+ wxHelper2.access_token+ "&media_id="+ media_id; var result = new WebClient(); result.DownloadFile(url, Server.MapPath("/upload/WxImg_" + media_id+".jpg")); string savePath = Server.MapPath("/upload/WxImg_" + media_id + ".jpg"); Response.Write(savePath); Response.End(); }
这样就可以保存了