文件上传功能

This commit is contained in:
WispX
2021-12-17 11:37:34 +08:00
parent 1da4a536ba
commit 3f6df9d2a0
9 changed files with 118 additions and 44 deletions
+7 -13
View File
@@ -10,6 +10,7 @@ use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Log;
@@ -19,27 +20,20 @@ class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests, Api;
public function upload(Request $request, UploadService $service): array
public function upload(Request $request, UploadService $service): Response
{
try {
/** @var User $user */
$user = Auth::user();
$service->store($request, $user);
$image = $service->store($request, $user);
} catch (UploadException $e) {
return $this->error($e->getMessage());
} catch (\Throwable $e) {
Log::error("Web 上传文件时发生异常,", ['message' => $e->getMessage(), 'trace' => $e->getTraceAsString()]);
return $this->error('上传失败,请稍后再试');
return $this->error('服务异常,请稍后再试');
}
$data = [
'url' => 'https://pic.iqy.ink/2021/12/12/e8cfd03eb787f.png',
'html' => '<img src="https://pic.iqy.ink/2021/12/12/e8cfd03eb787f.png" alt="e212bc43771ad6d391952732a1713e31.png" title="e212bc43771ad6d391952732a1713e31.png" />',
'bbcode' => '[img]https://pic.iqy.ink/2021/12/12/e8cfd03eb787f.png[/img]',
'markdown' => '![e212bc43771ad6d391952732a1713e31.png](https://pic.iqy.ink/2021/12/12/e8cfd03eb787f.png)',
'markdown_with_link' => '[![e212bc43771ad6d391952732a1713e31.png](https://pic.iqy.ink/2021/12/12/e8cfd03eb787f.png)](https://pic.iqy.ink/2021/12/12/e8cfd03eb787f.png)',
];
$status = true;
$message = '上传成功';
return compact('status', 'data', 'message');
return $this->success('上传成功', $image->setAppends(['url', 'pathname', 'links'])->only(
'id', 'url', 'pathname', 'origin_name', 'size', 'mimetype', 'md5', 'sha1', 'links'
));
}
}