You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Elysia JS | Bun JS中配置最大请求体大小

解决Elysia JS上传大文件时的413 Request Entity Too Large错误

要解决这个问题,需要从Bun服务器全局限制和Elysia的请求体解析配置两个层面入手——因为Elysia基于Bun运行,两者的限制都需要调整:

1. 配置Bun的最大请求体大小

Bun默认的最大请求体大小为1MB,这是触发大文件上传413错误的核心原因之一。你可以通过两种方式修改:

方式一:启动时通过CLI参数设置

在启动项目时添加--max-body-size参数,指定允许的最大请求体大小(支持MB/GB单位):

bun run --max-body-size 2GB index.ts

方式二:在代码中配置Listen选项

在Elysia的listen方法中直接设置maxBodySize参数(单位为字节):

import { Elysia } from 'elysia'

new Elysia()
  // 其他路由/逻辑配置
  .listen({
    port: 3000,
    maxBodySize: 2 * 1024 * 1024 * 1024 // 2GB,按需调整
  })

2. 配置Elysia的Multipart解析限制

针对文件上传场景,还需要调整Elysia的multipart请求体解析配置,确保单个文件和字段的大小限制符合需求:

import { Elysia } from 'elysia'

new Elysia()
  .config({
    bodyParser: {
      multipart: {
        maxFileSize: 2 * 1024 * 1024 * 1024, // 单个文件最大2GB
        maxFields: 5, // 允许的表单字段数量,按需调整
        maxFieldsSize: 10 * 1024 * 1024 // 所有非文件字段的总大小限制,按需调整
      }
    }
  })
  // 你的上传路由
  .post('/upload', async ({ body }) => {
    // 处理文件逻辑
    return { success: true }
  })
  .listen(3000)

注意事项

  • 两个层面的配置都需要设置:Bun的maxBodySize是全局请求体的总大小限制,Elysia的multipart配置是针对文件上传的细分限制。
  • 请根据实际业务需求调整数值,避免设置过大导致服务器资源耗尽。

内容的提问来源于stack exchange,提问作者Himanshu Jangid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 20:15:05