saveImage($file,$model); if (!$result['success'])return $result; $model->saveFile($file,$result['fileName']); $model->load('file'); return ['success' => true, 'message' => '文件上传成功', 'data' => $model ]; } /** * 保存上传图片 * @param $file * @param $model * @return array */ public function saveImage($file,$model): array { $tmpFil = $file->getRealPath(); if (!$file) return ['success' => false, 'message' => '上传图片为找到']; if (!$file->isValid()) return ['success' => false, 'message' => '找不到上传图片']; if (!is_uploaded_file($tmpFil)) return ['success' => false, 'message' => '文件错误']; if ($file->getSize() > 5 * 1024 * 1024) return ['success' => false, 'message' => '文件不能大于5MB']; $path = ['app', 'public', 'files']; $path = join(DIRECTORY_SEPARATOR, $path); $dirPath = storage_path($path); if (!file_exists($dirPath)) { mkdir($dirPath); } $fileSuffix = $file->getClientOriginalExtension(); $fileName = $model['name'].date('ymd').'-'.Uuid::uuid1();//thumbnail common bulky if (!in_array($fileSuffix, ['jpeg', 'jpg', 'png', 'svg'])) return ['success' => false, 'message' => '上传的文件格式应为jpeg,jpg,png,svg']; $filePath = storage_path($path.DIRECTORY_SEPARATOR . $fileName .'.'. $fileSuffix); $result = move_uploaded_file($tmpFil, $filePath); if ($result) return ['success' => true,'fileName' => $fileName]; else return ['success' => false, 'message' => '文件上传失败']; } /** * 修改打印图片 * @param PrintPartImage $model * @param $file * @return array */ public function updateFile(PrintPartImage $model,$file): array { $result = $this->saveImage($file,$model); if (!$result['success'])return $result; UploadFile::query()->where(['table_name' => 'print_part_images','table_id' => $model['id']])->update(['url' => '/files/'.$result['fileName'], 'type' => $file->getClientOriginalExtension()]); $model->refresh(); return ['success' => true, 'message' => '文件上传成功', 'data' => $model ]; } }