1. 程式人生 > >JSSDK呼叫微信原生的功能上傳圖片儲存到自己的伺服器中

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();
    }

這樣就可以儲存了