feat: cap upload size at 1 GiB by default (UPLOAD_MAX_BYTES override)
기본 업로드 한도를 1 GiB (1073741824 바이트) 로 설정. .env 의 UPLOAD_MAX_BYTES 로 바꿀 수 있고, 0 이나 Infinity 로 두면 무제한. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -31,10 +31,16 @@ import { FfmpegUnavailableError, applyTrimToVideo } from '../editor.js'
|
||||
|
||||
export const opRouter = Router()
|
||||
|
||||
// 업로드 용량 상한은 환경변수 UPLOAD_MAX_BYTES 로 조정. 기본은 사실상 무제한(Infinity).
|
||||
const uploadMaxBytes = process.env.UPLOAD_MAX_BYTES
|
||||
? Math.max(1, Number(process.env.UPLOAD_MAX_BYTES))
|
||||
: Infinity
|
||||
// 업로드 용량 상한. 기본 1 GiB. UPLOAD_MAX_BYTES 환경변수로 변경 가능.
|
||||
// 명시적으로 무제한이 필요하면 UPLOAD_MAX_BYTES=0 (또는 Infinity).
|
||||
const DEFAULT_UPLOAD_MAX_BYTES = 1024 * 1024 * 1024
|
||||
const uploadMaxBytes = (() => {
|
||||
const raw = process.env.UPLOAD_MAX_BYTES
|
||||
if (raw === undefined || raw === '') return DEFAULT_UPLOAD_MAX_BYTES
|
||||
const n = Number(raw)
|
||||
if (!Number.isFinite(n) || n <= 0) return Infinity
|
||||
return Math.max(1, n)
|
||||
})()
|
||||
const upload = multer({
|
||||
dest: tmpDir,
|
||||
limits: { fileSize: uploadMaxBytes }
|
||||
|
||||
Reference in New Issue
Block a user