fix: [daily-work-log] 파일 저장 정책 준수 (docs 기준)

- 경로: {tenant_id}/daily-work-log/{year}/{month}/{hex}.ext 형식으로 변경
- 파일명: UUID → 64bit 난수 hex (bin2hex(random_bytes(8)))
- 최대 크기: 10MB → 20MB (file-storage-guide.md 기준)
This commit is contained in:
김보곤
2026-03-16 16:00:40 +09:00
parent d9f0d3ffbf
commit d5ef117afa

View File

@@ -9,7 +9,6 @@
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str;
class DailyWorkLogController extends Controller
{
@@ -201,7 +200,7 @@ public function uploadFile(Request $request): JsonResponse
$request->validate([
'log_date' => 'required|date',
'field_key' => 'required|in:memo,reflection',
'file' => 'required|file|max:10240',
'file' => 'required|file|max:20480',
]);
$tenantId = session('selected_tenant_id', 1);
@@ -212,9 +211,10 @@ public function uploadFile(Request $request): JsonResponse
);
$file = $request->file('file');
$storedName = Str::uuid().'.'.$file->getClientOriginalExtension();
$basePath = "daily-work-log/{$tenantId}/{$log->id}";
$filePath = "{$basePath}/{$storedName}";
$storedName = bin2hex(random_bytes(8)).'.'.$file->getClientOriginalExtension();
$year = date('Y');
$month = date('m');
$filePath = "{$tenantId}/daily-work-log/{$year}/{$month}/{$storedName}";
Storage::disk('tenant')->put($filePath, file_get_contents($file));