微信上传图片(单张)

 1 var images = {
 2     localId : [],
 3     serverId : []
 4 };//传给后台的参数
 5 //修改头像
 6 $.ajax({
 7     url: "",
 8     dataType: "json",
 9     data: {
10         url: location.href.split('#')[0]
11     },
12     type: "post",
13     success: function(data) {
14         var dataObj = eval("(" + data + ")");
15         wx.config({
16             debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
17             appId: dataObj.results.data.appId, // 必填,公众号的唯一标识
18             timestamp: dataObj.results.data.timestamp, // 必填,生成签名的时间戳
19             nonceStr: dataObj.results.data.nonceStr, // 必填,生成签名的随机串
20             signature: dataObj.results.data.signature, // 必填,签名,见附录1
21             jsApiList: ['downloadImage', 'chooseImage', 'uploadImage']
22             // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
23         });
24         //微信JS-SDK说明文档地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115
25         wx.ready(function() {
26             // 如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。
27             $(".setheadImg").click(function() {
28                 wx.chooseImage({
29                     debug: false,
30                     count: 1, // 限制图片最多选1张
31                     sizeType: ['compressed'], // 指定是压缩图
32                     success: function(res) {
33                         var localIds = res.localIds;
34                         if(localIds.length == 1) {
35                             $(".setheadImg").attr("src", localIds[0]);
36                             // 微信的坑点iOS微信6.5.3及其之后的版本window.__wxjs_is_wkwebview为true时是使用WKWebview,为false或者“undefine”时是UIWebviewWKWebview
37                             // 不支持res.localIds显示图片,必须用res.localData
38                             if(window.__wxjs_is_wkwebview) {
39                                 wx.getLocalImgData({
40                                     localId: localIds[0],
41                                     success: function(res) {
42                                         if(res.localData != "") {
43                                             $(".setheadImg").attr("src", res.localData);//头像图片的容器
44                                         }
45                                     }
46                                 });
47                             }
48                             syncUpload(localIds);
49 
50                         }
51                     },
52                     error: function(res) {
53                         alert(res)
54                     }
55                 });
56             });
57             // sync upload pic
58             var syncUpload = function(localIds) {
59                 var localId = localIds.pop();
60                 wx.uploadImage({
61                     localId: localId,
62                     isShowProgressTips: 1,
63                     success: function(res) {
64                         var serverId = res.serverId; // 返回图片的服务器端ID
65                         images.serverId.push(serverId);
66                         if(localIds.length > 0) {
67                             syncUpload(localIds);
68                         }
69                     }
70                 });
71             }
72         }, function(data) {
73             alert('系统繁忙,请刷新页面!')
74         });
75     },
76     error: function(data) {
77         alert('系统繁忙,请刷新页面!')
78     }
79 })

 

posted @ 2019-01-15 14:07  Mr鑫  阅读(1021)  评论(0编辑  收藏  举报