调取微信上传图片接口
直接上代码:
HTML部分
<div class="ch0_btn col-35" @click="uploadImage">+添加图片(选填)</div> <input type="hidden" id="midia_id">
JS部分
$$(document).on('click',"#uploadImage",function () { wx.chooseImage({ count: 1, // 默认9 sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有 success: function (res) { var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片 //判断选择的照片张数 if (localIds.length > 1) { myApp.alert("亲,请选择一张照片"); return; } wx.uploadImage({ localId: localIds[0].toString(), // 需要上传的图片的本地ID,由chooseImage接口获得 isShowProgressTips: 1, // 默认为1,显示进度提示 success: function (res) { var serverId = res.serverId; // 返回图片的服务器端ID //保存图片 $$.post("{:url('Chuti/upload')}", { serverId: serverId }, function (data) { $$("#media_id").val(data); }); myApp.alert("上传成功!"); } }); } }); });
接口这里用的是PHP语言
/** * 微信图片上传接口 * @return mixed */ public function saveImg() { //获得多个图片的链接 $pic = $_POST['serverId']; //判断文件夹以及路径是否存在 if (!file_exists($_SERVER['DOCUMENT_ROOT'] . '/public/uploads/dati/images') || !is_dir($_SERVER['DOCUMENT_ROOT'] . '/public/uploads/dati/images')) { //不存在就创建文件夹 mkdir($_SERVER['DOCUMENT_ROOT'] . '/public/uploads/dati/images', 511); } //判断子文件夹vote以及路径是否存在 $firstLetterDir = $_SERVER['DOCUMENT_ROOT'] . '/public/uploads/dati/images'; if (!file_exists($firstLetterDir) || !is_dir($firstLetterDir)) { //不存在就创建子文件夹 mkdir($firstLetterDir, 511); } //以日期为文件夹命名 $sub_dir = date('Ymd'); $firstLetterDir = $_SERVER['DOCUMENT_ROOT'] . '/public/uploads/dati/images/' . $sub_dir; //判断子文件夹$sub_dir以及路径是否存在 if (!file_exists($firstLetterDir) || !is_dir($firstLetterDir)) { mkdir($firstLetterDir, 511); } //下面开始上传文件到服务器 //文件名 $file_name = date('YmdHis') . '_' . rand(10000, 99999) . '.jpg'; //文件真实路径 $pic_wall_save_path = $_SERVER['DOCUMENT_ROOT'] . '/public/uploads/dati/images/' . $sub_dir . '/' . $file_name;//这里执行了 //获取微信token $wechat = wechat(); $token = $wechat->checkAuth(); //文件存到数据库的路径 // $file_web_path = C('site_url') . '/Uploads/editorNew/' . $sub_dir . '/' . $file_name; //获取文件内容 // $accessToken = get_access_token();//这里不执行 $url = 'http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=' . $token . '&media_id=' . $pic; //把文件内容转化为字符串 $imgdata = file_get_contents($url);//返回 空值 // echo $imgdata; //打开指定文件 $fp = fopen($pic_wall_save_path, 'w');//这里没有输出 //开始写入文件 fwrite($fp, $imgdata); // $pics[] = $file_web_path; //关闭文件 fclose($fp); echo '/public/uploads/dati/images/' . $sub_dir . '/' . $file_name; die; }