request entity too large 错误解决

1,992 阅读1分钟

滑动到最下方直接查看错误解决的最终结果。

解决过程

我在 node.js 向数据库添加一个数据时,抛出 request entity too large 这个错误。 翻译一下这个报错的意思是请求实体过大

经过猜测可能是处理请求实体中间件问题,于是进入中间件模块中查找问题:

我使用的是 expressexpress.urlencoded() 来解析请求实体。而 expressexpress.urlencoded()body-parser 提供的。

我发现 express.urlencoded() 中还可以传递一个 limit ,来配置一个关于限制大小配置项:

然后又发现配置的这个值,通过 bytes.parse() 这个函数来转换,所以我们又找到关于 bytes 中间件的东西。

最后查看它的说明文档,发现有这些单位可以配置:

解决结果

我们需要给解析请求实体中间件这里配置 limit 配置项, 增大能解析请求实体的最大值。

app.use(express.urlencoded({ extended: true,limit: '5mb' }))