diff options
Diffstat (limited to 'app/api/revision-upload-ship/route.ts')
| -rw-r--r-- | app/api/revision-upload-ship/route.ts | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/app/api/revision-upload-ship/route.ts b/app/api/revision-upload-ship/route.ts index 38762e5d..3d1ebba9 100644 --- a/app/api/revision-upload-ship/route.ts +++ b/app/api/revision-upload-ship/route.ts @@ -11,7 +11,7 @@ import { import { and, eq } from "drizzle-orm" /* 보안 강화된 파일 저장 유틸리티 */ -import { saveFile, SaveFileResult } from "@/lib/file-stroage" +import { saveFile, SaveFileResult, saveFileStream } from "@/lib/file-stroage" /* change log 유틸 */ import { @@ -42,11 +42,11 @@ export async function POST(request: NextRequest) { return NextResponse.json({ error: "No files provided" }, { status: 400 }) // 기본 파일 크기 검증 (보안 함수에서도 검증하지만 조기 체크) - const MAX = 50 * 1024 * 1024 // 50MB (다이얼로그 제한과 맞춤) + const MAX = 1024 * 1024 * 1024 for (const f of attachmentFiles) { if (f.size > MAX) { return NextResponse.json( - { error: `${f.name} exceeds 50MB limit` }, + { error: `${f.name} exceeds 1GB limit` }, { status: 400 } ) } @@ -197,12 +197,9 @@ export async function POST(request: NextRequest) { console.log(`🔐 보안 검증 시작: ${file.name}`) // 보안 강화된 파일 저장 - const saveResult: SaveFileResult = await saveFile({ - file, - directory: "documents", // 문서 전용 디렉토리 - originalName: file.name, - userId: uploaderName || "anonymous", // 업로더 정보 로깅용 - }) + const saveResult = file.size > 100 * 1024 * 1024 + ? await saveFileStream({ file, directory: "documents", userId: uploaderName ||""}) + : await saveFile({ file, directory: "documents", userId: uploaderName ||"" }) if (!saveResult.success) { console.error(`❌ 파일 보안 검증 실패: ${file.name} - ${saveResult.error}`) |
