upload('image'); } public function uploadFile() { return $this->upload(); } /** * 富文本内文件上传 */ public function uploadRich() { $fromWangEditor = false; $file = request()->file('file'); if (!$file) { $fromWangEditor = true; $file = request()->file('wangeditor-uploaded-image'); if (!$file) { $file = request()->file('wangeditor-uploaded-video'); } } if (!$file) { return $this->response()->additional(['errno' => 1])->fail(__('admin.upload_file_error')); } $path = $file->store(Admin::config('admin.upload.directory.rich'), Admin::config('admin.upload.disk')); $link = Storage::disk(Admin::config('admin.upload.disk'))->url($path); if ($fromWangEditor) { return $this->response()->additional(['errno' => 0])->success(['url' => $link]); } return $this->response()->additional(compact('link'))->success(compact('link')); } /** * 存放临时文件目录; */ protected function upload($type = 'file') { $file = request()->file('file'); if (!$file) { return $this->response()->fail(__('admin.upload_file_error')); } $path = $file->store(Admin::config('admin.upload.tem_directory.' . $type), Admin::config('admin.upload.disk')); return $this->response()->success(['value' => $path]); } public function saveImage($field = 'image', $path) { return $this->saveFile($field, $path); } /** * 表单提交时,转存实际目录,并保留上传时文件名称;文件保存全路径 */ public function saveFile($field = 'file', $path) { $file = request()->file($field); if (!$file) { $file = request()->get($field); } $fileArr = []; //判断是否多个文件; if(is_string($file) || isset($file['id'])){ $files = [$file]; }else{ $files = $file; } if($files){ foreach($files as $file){ if(is_array($file) && isset($file['state'])){ switch($file['state']){ case 'init': if(strpos($file['value'], 'temporary') !== false){ $filePath = $path.'/'.$file['name']; Storage::disk(Admin::config('admin.upload.disk'))->move($file['value'], $filePath); $fileArr[] = Storage::disk(Admin::config('admin.upload.disk'))->url($filePath); }else{ $fileArr[] = $file['value']; } break; case 'uploaded': if(isset($file['name'])){ $filePath = $path.'/'.$file['name']; Storage::disk(Admin::config('admin.upload.disk'))->move($file['value'], $filePath); $fileArr[] = Storage::disk(Admin::config('admin.upload.disk'))->url($filePath); } break; } }else{ $fileArr[] = $file; } } } return $fileArr; } }