--- app/(protected)/(basic)/contents/upload/route.ts
+++ app/(protected)/(basic)/contents/upload/route.ts
... | ... | @@ -57,7 +57,8 @@ |
| 57 | 57 |
); |
| 58 | 58 |
|
| 59 | 59 |
if (!result.ok) {
|
| 60 |
- return fail(502, result.message); |
|
| 60 |
+ // 프록시가 자른 413은 크기 문제라 사용자에게 그대로 보인다. 나머지는 중계 실패다. |
|
| 61 |
+ return fail(result.code === 413 ? 413 : 502, result.message); |
|
| 61 | 62 |
} |
| 62 | 63 |
|
| 63 | 64 |
if (typeof result.data !== 'string' || result.data === '') {
|
--- lib/domain/file-module.ts
+++ lib/domain/file-module.ts
... | ... | @@ -50,7 +50,9 @@ |
| 50 | 50 |
vodContent: {
|
| 51 | 51 |
id: 'MODULE_VOD_CONTENT', |
| 52 | 52 |
description: '동영상 콘텐츠 저장소', |
| 53 |
- extensions: ['mp4', 'mov', 'avi', 'mkv', 'webm', 'wmv'], |
|
| 53 |
+ // 이슈: 백엔드 전역 화이트리스트(Globals.fileUpload.Extensions)에 영상은 mp4뿐이다. |
|
| 54 |
+ // mov·avi 등은 목록에 추가되면 여기도 되돌린다. |
|
| 55 |
+ extensions: ['mp4'], |
|
| 54 | 56 |
}, |
| 55 | 57 |
/** 꾸미기 아이템 썸네일. */ |
| 56 | 58 |
userItem: {
|
--- lib/http/backend-fetch.ts
+++ lib/http/backend-fetch.ts
... | ... | @@ -298,6 +298,15 @@ |
| 298 | 298 |
}; |
| 299 | 299 |
} |
| 300 | 300 |
|
| 301 |
+ // 이슈: dev API 프록시(client_max_body_size 미설정, 기본 1MiB)가 앱보다 먼저 큰 본문을 |
|
| 302 |
+ // 봉투 없이 413으로 거절한다(2026-08-20 실측). 인프라 상향 전까지 사유를 살려 내보낸다. |
|
| 303 |
+ if (response.status === 413) {
|
|
| 304 |
+ return {
|
|
| 305 |
+ ok: false, |
|
| 306 |
+ code: 413, |
|
| 307 |
+ message: '파일이 서버가 받을 수 있는 크기를 넘었습니다.', |
|
| 308 |
+ }; |
|
| 309 |
+ } |
|
| 301 | 310 |
return communicationError(`예상치 못한 HTTP 상태: ${response.status}`);
|
| 302 | 311 |
} |
| 303 | 312 |
|
... | ... | @@ -392,6 +401,13 @@ |
| 392 | 401 |
: COMMUNICATION_ERROR_MESSAGE, |
| 393 | 402 |
}; |
| 394 | 403 |
} |
| 404 |
+ if (response.status === 413) {
|
|
| 405 |
+ return {
|
|
| 406 |
+ ok: false, |
|
| 407 |
+ code: 413, |
|
| 408 |
+ message: '파일이 서버가 받을 수 있는 크기를 넘었습니다.', |
|
| 409 |
+ }; |
|
| 410 |
+ } |
|
| 395 | 411 |
return communicationError( |
| 396 | 412 |
`업로드 응답의 예상치 못한 HTTP 상태: ${response.status}`
|
| 397 | 413 |
); |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?