微信jssdk多图片上传下载到服务器

时间:2022-11-12 10:28:09

//前台代码


      $(function (){
      paizhao();//打开页面直接调用该函数
      });
        function paizhao(t) {
             if (t != undefined){//开始时 t 为undefined  调用递归时 t 才为真
                 
                for (var i = 0; i < t.length; i++)//循环给 mid  赋值
                {
                    if (i < t.length - 1)
                    {
                        mid = mid + t[i] + ",";
                        
                    } else {
                        mid = mid + t[i];
                    }
                }
                $('#vote_pic').val(mid); // 写入上传成功的图片
                return paizhao;
            }
             /*  选    择    图    片  */
         $("#upload").on("click", function () {
            wx.chooseImage({//选着文件或者进行拍照
                success: function (res) {
                localIds = res.localIds;//把返回图片的服务器端ID存入localIds
               
                    syncUpload(localIds);//同步上传 多张图片
                }
            });
         }); 
         /*  上  传  图   片  */
             var syncUpload = function (localIds) {
                var localId = localIds.pop();
                wx.uploadImage({
                    localId:localId,
                    success: function (res) {
                        serverId.push(res.serverId);
                        //其他对serverId做处理的代码
                        if (localIds.length > 0) {
                            syncUpload(localIds);
                        } else {
                            paizhao(serverId);//再次调用递归上传
                        }
                    }
                });
            }; 
        };    

//后台代码

if(IS_POST){
$_POST['type'] = $_POST['album'];
$pic_id = $_POST['vote_pic'];
$pic_id = explode(",",$pic_id);//把传过来的图片地址 分割
$pic_arr = array();
foreach ($pic_id as $k => $v){//循环 把图片下载到本地服务器
    $pic_arr = $v;
$return = array();
$path = './Image/Photos';//定义保存路径
$dir = realpath($path);//为方便管理图片 保存图片时 已时间作一层目录作区分
$tardir=$dir.'/'.date('Y_m_d');//定义文件夹名称
if(!file_exists($tardir)){//如果文件夹不存在则自动创建
   mkdir($dir.'/'.date('Y_m_d'));
}
$access_token=R('Qyapp/Jsssdk/access_token',array("api"=>'微信企业号的corpID','secret'=>'corpsecret管理主的凭证钥'));//获取access_token值
$token=$access_token['access_token'];
//根据微信JS接口上传了图片,会返回上面写的images.serverId(即media_id),填在下面即可
$str = "https://qyapi.weixin.qq.com/cgi-bin/media/get?access_token={$token}&media_id={$pic_arr}";
$ch = curl_init($str);//获取微信“获取临时素材”接口返回来的内容(即刚上传的图片)  
$ranfilename=time().rand().".jpg";//定义图片新名称
$filename=$path.'/'.date('Y_m_d').'/'.$ranfilename;
$_POST['img_url'] = $filename;
/* 把上传的图片更新到主页 */
$data = array("homepage_img"=>$_POST['img_url']);
$update_homepage = M("Qyphotos_type")->where("id={$_POST['type']}")->save($data);
/* 把数据写入数据库 */
$add_photos = M('Qyphotos_img')->add($_POST);
$tarfilename=$tardir."/".$ranfilename;
$fp = fopen($tarfilename, "w");   
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
}
fclose($fp);//关闭打开的文件夹
            if($add_photos != null){
                $this->redirect("list_img?typeid={$_POST['type']}");//重新定义url 地址
            }
}

管理组的凭证密钥