微信页面上传图片,安卓和ios上传接口的兼容处理

xiaoxiao2021-02-27  133

1.引入微信js,注意是1.2.0版本的,之前用1.1.0 ios一直有问题 <script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script> 2.微信上传接口调用 <form> 姓名<input type="text" name="uname"><br> 电话<input type="text" name="utel"><br> <img id="image1" οnclick="chooseImage(this)" style="width: 100px;height: 100px;border: 1px solid red;"><input type="hidden" name="img[]"> <img id="image2" οnclick="chooseImage(this)" style="width: 100px;height: 100px;border: 1px solid red;"><input type="hidden" name="img[]"> <img id="image3" οnclick="chooseImage(this)" style="width: 100px;height: 100px;border: 1px solid red;"><input type="hidden" name="img[]"> <br> <input type="button" name="" value="提交" id="sub"> </form> function chooseImage(obj){ // 选择张片 wx.chooseImage({ count: 1, // 默认9 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有 sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有 success: function(res) { var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片 $(obj).attr('src', localIds); // 上传照片 wx.uploadImage({ localId: '' + localIds, isShowProgressTips: 1, success: function(res) { serverId = res.serverId; $(obj).next().val(serverId); // 把上传成功后获取的值附上 } }); } }); } 3.上传图片 $("#sub").on("click",function(){ $.ajax({ type:'POST', url:"file.php", data:$("form").serialize(), dataType: 'json', success : function(data){ alert(data); } }); }) 4.服务器端接收处理图片 <?php header("Content-type:text/html;charset=utf-8"); session_start(); error_reporting(0); require_once 'jssdk.php'; require_once 'DBHelper.class.php'; $AppID='****************';//必须改写*该项目公众账户appid,在公众帐号平台开发者模式中获取 $AppSecret='*************';//必须改写*该项目公众账户appsecret(该值为可变动值,如公众平台重置,则需改写),获取同上 $jssdk = new JSSDK($AppID,$AppSecret); foreach ($_POST['img'] as $key => $value) { $file[]=$jssdk->getmedia($value); } echo json_encode($file); ?> // 获取图片地址 function getmedia($media_id){ $access_token=$this->getAccessTokens(); $url = "http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=".$access_token."&media_id=".$media_id; if (!file_exists("./Uploads/")) { mkdir("./Uploads/", 0777, true); } $targetName = './Uploads/'.date('YmdHis').rand(1000,9999).'.jpg'; $ch = curl_init($url); // 初始化 $fp = fopen($targetName, 'wb'); // 打开写入 curl_setopt($ch, CURLOPT_FILE, $fp); // 设置输出文件的位置,值是一个资源类型 curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp); return $targetName; }

转载请注明原文地址: https://www.6miu.com/read-14055.html

最新回复(0)