From 0d00d1c67fe159167932fb4e0b48d83e9727d12e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Fri, 13 Feb 2026 16:46:11 +0900 Subject: [PATCH] =?UTF-8?q?fix:=EB=B2=95=EC=9D=B8=EB=8F=84=EC=9E=A5=20?= =?UTF-8?q?=EC=9D=B4=EB=AF=B8=EC=A7=80=EB=A5=BC=20base64=20data=20URL?= =?UTF-8?q?=EB=A1=9C=20=EB=B0=98=ED=99=98=20(local=20disk=20404=20?= =?UTF-8?q?=ED=95=B4=EA=B2=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 --- .../Controllers/ESign/EsignApiController.php | 19 ++++++++++++++----- resources/views/esign/create.blade.php | 2 +- resources/views/esign/dashboard.blade.php | 2 +- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/ESign/EsignApiController.php b/app/Http/Controllers/ESign/EsignApiController.php index 56bb3db5..42986f1f 100644 --- a/app/Http/Controllers/ESign/EsignApiController.php +++ b/app/Http/Controllers/ESign/EsignApiController.php @@ -37,14 +37,20 @@ public function getStamp(): JsonResponse } $path = $setting->setting_value['image_path']; - $exists = Storage::disk('local')->exists($path); + if (!Storage::disk('local')->exists($path)) { + return response()->json(['success' => true, 'data' => null]); + } + + $content = Storage::disk('local')->get($path); + $mime = Storage::disk('local')->mimeType($path) ?: 'image/png'; + $dataUrl = 'data:' . $mime . ';base64,' . base64_encode($content); return response()->json([ 'success' => true, - 'data' => $exists ? [ + 'data' => [ 'image_path' => $path, - 'image_url' => '/storage/' . $path, - ] : null, + 'image_url' => $dataUrl, + ], ]); } @@ -85,12 +91,15 @@ public function uploadStamp(Request $request): JsonResponse ] ); + $mime = Storage::disk('local')->mimeType($path) ?: 'image/png'; + $dataUrl = 'data:' . $mime . ';base64,' . base64_encode($imageData); + return response()->json([ 'success' => true, 'message' => '법인도장이 등록되었습니다.', 'data' => [ 'image_path' => $path, - 'image_url' => '/storage/' . $path, + 'image_url' => $dataUrl, ], ]); } diff --git a/resources/views/esign/create.blade.php b/resources/views/esign/create.blade.php index 18661c26..09fc76e3 100644 --- a/resources/views/esign/create.blade.php +++ b/resources/views/esign/create.blade.php @@ -245,7 +245,7 @@ className="w-full border border-gray-300 rounded-md px-2.5 py-1.5 text-sm focus: {registeredStamp ? (
-
-