使用微信SDK上传图片后空白问题

1.引用js

<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>

2.初始化

wx.config({
        debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
        appId: "<%=appId %>", // 必填,公众号的唯一标识
        timestamp: "<%=timestamp %>", // 必填,生成签名的时间戳
        nonceStr: '<%=noncestr %>', // 必填,生成签名的随机串
        signature: '<%=signature %>',// 必填,签名,见附录1
        jsApiList: ['chooseImage','previewImage','uploadImage','getLocalImgData','downloadImage'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
    });

3.上传图片设置

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

function syncUpload(localIds) {
           var localId = localIds.pop();
            wx.uploadImage({
                localId: localId,
                isShowProgressTips: 1,
                success: function (res) {
                    var serverId = res.serverId; // 返回图片的服务器端ID
                    getLocalImgData(localId,serverId);
                         
                    if(localIds.length > 0){
                        syncUpload(localIds);
                    }
                }
            });
     }

//重点(iOS系统和安卓系统分开处理)

function getLocalImgData(localId,serverId){
      /*判断ios是不是用的 wkwebview 内核*/
                    if (window.__wxjs_is_wkwebview){
                            wx.getLocalImgData({
                                localId:localId,
                                success: function (res){
                                    var localData = res.localData; // localData是图片的base64数据,可以用img标签显示
                                    localData = localData.replace('jgp', 'jpeg');//iOS 系统里面得到的数据,类型为 image/jgp,因此需要替换一下
                                    $('<li sid="'+serverId+'"><span class="insertimg"  style="background-image: url('+localData+')"></span></li>').insertBefore($(".insertimgbtn").parent());
                                }
                            });
                    }else{   //如果不是用的wkwebview 内核 或者是用的安卓系统 执行下面的xunh
                        $('<li sid="'+serverId+'"><span class="insertimg"  style="background-image: url('+localId+')"></span></li>').insertBefore($(".insertimgbtn").parent());
                    }
     }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值