JSSDK调用微信原生的功能上传图片保存到自己的服务器中

第一件事首先是微信的选择图片功能,就是微信发朋友圈选择图片的时候那个界面

//调用微信拍照功能
                                    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();
    }

这样就可以保存了

posted @ 2018-12-26 10:51  君宁天下  阅读(3205)  评论(0编辑  收藏  举报
野生程序员真的是太难了,一刻也不敢停止学习