✨ 文件上传功能
This commit is contained in:
@@ -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' => '',
|
||||
'markdown_with_link' => '[](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'
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user