// +---------------------------------------------------------------------- namespace App\Http\Controllers\Api; use Illuminate\Http\Request; /** * 上传文件-控制器 * @since 2020/11/11 * Class UploadController * @package App\Http\Controllers */ class UploadController extends webApp { /** * 上传图片 * @param Request $request 网络请求 * @return array * @since 2020/11/11 */ public function uploadImage(Request $request) { // 上传单图统一调取方法 $fromName = $request->post('from_name','file'); $result = upload_image($request, $fromName, '',$this->userId); if (!$result['success']) { return showJson($result['msg'], false, ''); } // 文件路径 $file_path = $result['data']['img_path']; if (!$file_path) { return showJson('文件上传失败', false, ''); } // 网络域名拼接 if ($file_path && strpos($file_path, IMG_URL) === false) { $file_path = get_image_url($file_path, false); } // 返回结果 return showJson(MESSAGE_OK, true, ['url'=> $file_path, 'path'=> $result['data']['img_path']]); } /** * 上传文件(单个上传) * @param Request $request * @since 2020/11/11 */ public function uploadFile(Request $request) { $result = upload_file($request,'file','', $this->userId); if (!$result['success']) { return showJson($result['msg'], false, ''); } // 文件路径 $file_path = isset($result['data']['file_path'])? $result['data']['file_path'] : ''; if (!$file_path) { return showJson("文件上传失败",false); } // 网络域名拼接 if (strpos($file_path, IMG_URL) === false) { $file_path = get_image_url($file_path, false); } // 返回结果 return showJson(MESSAGE_OK, true, ['url'=> $file_path, 'path'=> $result['data']['img_path']]); } /** * 图片上传 * @return array */ public function uploadBase64() { $base64 = request()->post('base64',''); $uuid = request()->post('uuid', ''); if ($base64) { $fileDir = ATTACHMENT_PATH . '/images/base64img/' . date('Ymd'); // 检测文件路径是否存在,不存在则创建 if (!file_exists($fileDir)) { mkdir($fileDir, 0777, true); } $fileName = 'qrcode_'.md5($uuid? $uuid : $base64) . '.jpeg'; $base64 = str_replace('data:image/jpeg;base64,','',$base64); file_put_contents($fileDir.'/'.$fileName, base64_decode($base64)); if(file_exists($fileDir.'/'.$fileName)){ $filePath = str_replace(ATTACHMENT_PATH, '', $fileDir) . '/' . $fileName; return showJson(MESSAGE_OK, true, ['url'=>get_image_url($filePath, false),'path'=>$filePath]); } } return showJson(MESSAGE_FAILED, false); } }