From 2388437b3447dcb777b2e58aa2777eb96a13b535 Mon Sep 17 00:00:00 2001 From: "sosuke.iwabuchi" Date: Wed, 11 Oct 2023 22:02:05 +0900 Subject: [PATCH] =?UTF-8?q?=E7=94=BB=E5=83=8F=E5=8F=96=E5=BE=97=E3=80=80?= =?UTF-8?q?=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Web/Image/ImageController.php | 42 +++++++++++++++++++ app/Http/Controllers/Web/Image/ImageParam.php | 18 ++++++++ .../SeasonTicketContractImageController.php | 19 +++++++++ app/Http/Controllers/Web/WebController.php | 3 +- app/Kintone/KintoneAccess.php | 4 +- routes/web.php | 3 ++ 6 files changed, 86 insertions(+), 3 deletions(-) create mode 100644 app/Http/Controllers/Web/Image/ImageController.php create mode 100644 app/Http/Controllers/Web/Image/ImageParam.php create mode 100644 app/Http/Controllers/Web/Image/SeasonTicketContractImageController.php diff --git a/app/Http/Controllers/Web/Image/ImageController.php b/app/Http/Controllers/Web/Image/ImageController.php new file mode 100644 index 0000000..732d72d --- /dev/null +++ b/app/Http/Controllers/Web/Image/ImageController.php @@ -0,0 +1,42 @@ +middleware('auth:sanctum'); + } + + protected function run(Request $request): Response + { + $access = $this->getAccess(); + $file = $access->fileGet($this->param->id); + return response($file->body(), 200, [ + 'Content-Length' => $file->header('Content-Length'), + 'Content-Type' => $file->header('Content-Type'), + ]); + } + + abstract protected function getAccess(): KintoneAccess; +} diff --git a/app/Http/Controllers/Web/Image/ImageParam.php b/app/Http/Controllers/Web/Image/ImageParam.php new file mode 100644 index 0000000..5ab26c1 --- /dev/null +++ b/app/Http/Controllers/Web/Image/ImageParam.php @@ -0,0 +1,18 @@ + $this->str(), + ]; + } +} diff --git a/app/Http/Controllers/Web/Image/SeasonTicketContractImageController.php b/app/Http/Controllers/Web/Image/SeasonTicketContractImageController.php new file mode 100644 index 0000000..fd40544 --- /dev/null +++ b/app/Http/Controllers/Web/Image/SeasonTicketContractImageController.php @@ -0,0 +1,19 @@ +successResponse(); } diff --git a/app/Kintone/KintoneAccess.php b/app/Kintone/KintoneAccess.php index 0cc1be6..9c3e860 100644 --- a/app/Kintone/KintoneAccess.php +++ b/app/Kintone/KintoneAccess.php @@ -385,8 +385,7 @@ class KintoneAccess { $response = Http::withHeaders([ "X-Cybozu-API-Token" => $this->apiToken, - "Content-Type" => "application/json", - ])->get($this->getCursorUrl(), [ + ])->get($this->getFileUrl(), [ "fileKey" => $fileKey, ]); @@ -394,6 +393,7 @@ class KintoneAccess $e = $response->toException(); if ($e instanceof Exception) { Log::error($e->getMessage()); + Log::error($response->body()); throw $e; } } diff --git a/routes/web.php b/routes/web.php index e763da2..28d9ea5 100644 --- a/routes/web.php +++ b/routes/web.php @@ -13,5 +13,8 @@ use App\Util\RouteHelper; | */ +// 画像取得 +RouteHelper::get('/image/season-ticket-contract', App\Http\Controllers\Web\Image\SeasonTicketContractImageController::class); + // ルーティングで適合しない場合はフロント側のRoutingにゆだねる RouteHelper::get('/{any?}', App\Http\Controllers\Web\IndexController::class)->where('any', '.*');