NodeJS / Express请求实体太大 – Heroku

我已经到处寻找,似乎无法find关于这个的解释,这就是Heroku在我的日志中显示的内容:

45:45+00:00 app[web.7]: Error: Request Entity Too Large 45:45+00:00 app[web.7]: at Object.error (/app/node_modules/express/node_modules/connect/lib/utils.js:44:13) 45:45+00:00 app[web.7]: at Object.limit [as handle] (/app/node_modules/express/node_modules/connect/lib/middleware/limit.js:45:47) 45:45+00:00 app[web.7]: at next (/app/node_modules/express/node_modules/connect/lib/proto.js:190:15) 45:45+00:00 app[web.7]: at Object.logger [as handle] (/app/node_modules/express/node_modules/connect/lib/middleware/logger.js:157:5) 45:45+00:00 app[web.7]: at next (/app/node_modules/express/node_modules/connect/lib/proto.js:190:15) 45:45+00:00 app[web.7]: at Object.favicon [as handle] (/app/node_modules/express/node_modules/connect/lib/middleware/favicon.js:78:7) 45:45+00:00 app[web.7]: at next (/app/node_modules/express/node_modules/connect/lib/proto.js:190:15) 45:45+00:00 app[web.7]: at Object.expressInit [as handle] (/app/node_modules/express/lib/middleware.js:31:5) 45:45+00:00 app[web.7]: at next (/app/node_modules/express/node_modules/connect/lib/proto.js:190:15) 45:45+00:00 app[web.7]: at Object.query [as handle] (/app/node_modules/express/node_modules/connect/lib/middleware/query.js:44:5) 45:45+00:00 app[web.7]: POST /mls 413 1ms - 980 

我已经包含了最后一个日志logging,因为我不确定它是否显示发生这些错误的HTTP URL,或者它是Heroku dyno处理的下一个请求的URL(我们每秒接收数百个请求,所以它是一个有点疯狂跟踪)。

我的应用程序( ExpressJS )需要接收大的POST请求,这就是为什么我把

 app.use(express.limit('5mb')); 

在应用程序的顶部,以允许大量的post请求(通常小于2MB)。 我不确定上面的错误是由于接收到一个太大的请求而导致的,或者是尝试向S3发送一个太大的请求,或者其他的东西。 有任何想法吗?

谢谢!

如果您使用Express v4 +,则可以使用

 app.use(bodyParser({limit: '5mb'})); 

但要确保这条线在上面

 app.use(bodyParser.json()); 

否则将无法正常工作

我试图用很多方法来解决这个问题,但最后我得到了解决scheme和解决scheme太简单的解决scheme,我只是绕过代码,请按照下面的步骤来帮助你解决问题 – 打开你的项目中的下一页

node_modules \身体parsing器\ node_modules \原体\ index.js

并改变

如果(typeof options.limit ==='number')limit = options.limit

只要删除option.limit并添加数字,whatevr你的限制,例如。 限制= 10024