滑动到最下方直接查看错误解决的最终结果。
解决过程
我在 node.js 向数据库添加一个数据时,抛出 request entity too large 这个错误。
翻译一下这个报错的意思是请求实体过大。
经过猜测可能是处理请求实体中间件问题,于是进入中间件模块中查找问题:
我使用的是 express 的 express.urlencoded() 来解析请求实体。而 express 的 express.urlencoded() 是 body-parser 提供的。
我发现 express.urlencoded() 中还可以传递一个 limit ,来配置一个关于限制大小配置项:
然后又发现配置的这个值,通过 bytes.parse() 这个函数来转换,所以我们又找到关于 bytes 中间件的东西。
最后查看它的说明文档,发现有这些单位可以配置:
解决结果
我们需要给解析请求实体中间件这里配置 limit 配置项, 增大能解析请求实体的最大值。
app.use(express.urlencoded({ extended: true,limit: '5mb' }))