/** * 上傳圖片並保存到七牛雲 */ public function uploadPic(){ //接收文件 $file=request()->file('file'); if($file==null){ exit(json_encode(array( 'code'=>'error', 'msg'=>'請上傳文件!' ))); } //路徑 $path = 'default' . DS .date('Ymd',time()); $filePaths= 'upload' . DS . $path; if(!empty($file)){ $info = $file->validate(['size'=>10485760,'ext'=>'gif,jpg,jpeg,png,bmp,swf,mp4,mov'])->rule('uniqid')->move($filePaths); $error = $file->getError(); //驗證文件後綴後大小 if(!empty($error)){ return ['code'=>404,'msg'=>$error]; } if($info){ // 成功上傳後 獲取上傳信息 $suffix = $info->getExtension();//文件後綴 $image=['gif','GIF','jpg','JPG','jpeg','JPEG','png','PNG','bmp','BMP','swf','SWF']; $video=['mp4','MP4','mov','MOV']; if(in_array($suffix,$image)){ $file_type = 'image'; }else if(in_array($suffix,$video)){ $file_type = 'video'; }else{ $file_type = 'fail'; } $info->getSaveName(); $photo = $info->getSavename(); //上傳農場背景圖片到七牛雲 //本地路徑 $image_url = $filePaths. DS .$photo; //上傳到七牛雲圖片名稱 $name = $path. DS .$photo; //獲取token值 $accessKey = '**************************************'; $secretKey = '**************************************'; // 初始化籤權對象 $auth = new Auth($accessKey, $secretKey); $bucket = '******'; $token = $auth->uploadToken($bucket); $uploadMgr = new UploadManager(); // 調用 UploadManager 的 putFile 方法進行文件的上傳。 list($ret, $err) = $uploadMgr->putFile($token, $name, $image_url); //刪除本地臨時圖片 if(is_file($image_url)) { unlink($image_url); } //七牛雲圖片路徑 $image_url = cmf_get_image_url($name) . '?imageView2/1/w/300/h/300'; //去除水印操做 $image_url = str_replace('!watermark','',$image_url); }else{ // 上傳失敗獲取錯誤信息 $file->getError(); } }else{ $photo = ''; } if($photo !== ''){ $src = cmf_get_image_url($path.DS.$photo); return ['code'=>1,'msg'=>'成功','file_type'=>$file_type,'photo'=>$path.DS.$photo,'src'=>$image_url,'base64_image'=>'']; }else{ return ['code'=>404,'msg'=>'失敗']; } }