forked from EduCraft/curriculum-project-hub
fix(filelib): 上传上限抬到 50MiB,并把它与 body limit 的串联写清
7.8MB 文件上传报 413:那是 Fastify 在 body 解析阶段拒的,不是 HUB_FILELIB_MAX_FILE_BYTES。上传把内容放在 JSON body 里、二进制过 base64 体积涨 4/3,所以有效上限是 min(该值, HUB_HTTP_BODY_LIMIT_BYTES × 3/4)。 原先 body limit 是 1MiB,10MiB 的文件上限根本不可达。 .env.example:body limit 1MiB → 70MiB,新增 HUB_FILELIB_MAX_FILE_BYTES=50MiB。 注意 body limit 同时是 ADR-0022 requestBodySize 维度的平台 ceiling,抬高它 对所有端点生效。 resolveMaxFileBytes 拆成 parseMaxFileBytes(纯解析)+ resolveMaxFileBytes(读 env):原先带默认参数,显式传 undefined 会回落到读 env,"没传值"与"读环境变量" 分不开,vitest 加载 .env 后测试会读到真实配置。
This commit is contained in:
+7
-1
@@ -23,12 +23,18 @@ DATABASE_URL="postgresql://paradigm:paradigm@127.0.0.1:5432/paradigm"
|
||||
# HUB_AGENT_MAX_TURNS=25
|
||||
HUB_AGENT_MAX_CONCURRENT_RUNS="1"
|
||||
HUB_AGENT_MAX_RUN_SECONDS="900"
|
||||
HUB_HTTP_BODY_LIMIT_BYTES="1048576"
|
||||
HUB_HTTP_BODY_LIMIT_BYTES="73400320"
|
||||
HUB_MAX_FILES_PER_MESSAGE="8"
|
||||
HUB_MAX_FILE_BYTES="26214400"
|
||||
HUB_HTTP_REQUESTS_PER_MINUTE="120"
|
||||
HUB_FEISHU_EVENTS_PER_MINUTE="120"
|
||||
|
||||
# 文件库单文件上限(缺省 10 MiB)。这两个值是串联的:上传把文件内容放在
|
||||
# JSON body 里,二进制过 base64 体积涨 4/3。所以有效上限是
|
||||
# min(本值, HUB_HTTP_BODY_LIMIT_BYTES × 3/4);body limit 太小时本值不可达,
|
||||
# 且报错是 Fastify 的 413 Payload Too Large 而不是 file_too_large。
|
||||
HUB_FILELIB_MAX_FILE_BYTES="52428800"
|
||||
|
||||
# Persistent system-managed root for project workspaces. Production must use an
|
||||
# absolute path outside the deployment/release tree; install_service.sh defaults
|
||||
# to this path and rejects any overlap before installing the unit.
|
||||
|
||||
Reference in New Issue
Block a user