调用微信图片接口

首先连入微信端,用户同意授权,获取code,通过code换取网页授权access_token,根据开发文档可以获取到微信端接口调用方式。

微信选择照片后在页面做一个展示效果,此处有坑,不同操作系统,Android和Ios不一样。

果机拿出来的base64能直接展示,安卓拿出来的base64微信端默认剪掉了前面的格式 'data:image/jgp;base64,'

        var u = navigator.userAgent;
        var isIos = 1;

        if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) {//安卓手机
            // alert("安卓手机");
    
            isIos = 0;

        } else if (u.indexOf('iPhone') > -1) {//苹果手机
            // alert("苹果手机");
           
            isIos =1 ;
        };
wx.chooseImage({
            count: 1, // 默认9
            sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
            sourceType: sourceType,	// 可以指定来源是相册还是相机,默认二者都有
            success: function (res) {
                var localIds = res.localIds;

                var base64 = localIds[0];

                if(localIds[0]!=null && localIds[0]!=''){

                	// $(element).attr("src", res.localIds[0]);
                	if(mode!=null && mode!='' && mode=='server'){
                		//上传服务端
                		wx.uploadImage({
                			localId: localIds[0], // 需要上传的图片的本地ID,由chooseImage接口获得
                			isShowProgressTips: 1, // 默认为1,显示进度提示
                			success: function (res) {
                				var serverId = res.serverId; // 返回图片的服务器端ID
                				callback(serverId);
                			}
                		});
                	}else{
                		//获取本地
                		wx.getLocalImgData({
                			localId: localIds[0], // 图片的localID
                			success: function (res) {
                				var localData = res.localData; // localData是图片的base64数据,可以用img标签显示(ios端)

                               
                                base64 = localData;
								if (isIos==0){
                                    base64='data:image/jgp;base64,'+localData;
								}
                                $(element).attr("src", base64);
                				callback(localData);
                			}
                		});
                	}

                    // $(element).attr("src", base64);  getLocalImgData加载速度太慢,挪进去!!!
                }
            }
        });

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值