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', '.*');