我正在尝试将非常大量的JSON发送到Meteor.js应用程序中的服务器端路由。我继续犯这个错误...
错误:请求实体太大 at Object.exports.error(/mnt/data/2/node_modules/connect/lib/utils.js:62:13) 在极限(/mnt/data/2/node_modules/connect/lib/middleware/limit.js:46:47) 在urlencoded(/mnt/data/2/node_modules/connect/lib/middleware/urlencoded.js:58:5) 在/mnt/data/2/node_modules/connect/lib/middleware/bodyParser.js:55:7 在json(/mnt/data/2/node_modules/connect/lib/middleware/json.js:46:55) 在Object.bodyParser [作为句柄](/mnt/data/2/node_modules/connect/lib/middleware/bodyParser.js:53:5) 在下一个(/mnt/data/2/node_modules/connect/lib/proto.js:190:15) 在Object.query [作为句柄](/mnt/data/2/node_modules/connect/lib/middleware/query.js:44:5) 在下一个(/mnt/data/2/node_modules/connect/lib/proto.js:190:15) at Object.Package [as handle](packages / spiderable / spiderable.js:108)
在我的研究中,我发现需要为连接中间件设置请求限制。有谁知道我怎么能在Meteor中做到这一点?谢谢!
答案 0 :(得分:3)
另一个解决方案是在服务器上的某处添加以下代码(例如Meteor.startup
):
Router.configureBodyParsers = function() {
Router.onBeforeAction(Iron.Router.bodyParser.urlencoded({
extended: true,
limit: '100mb'
}));
};
(ref)
答案 1 :(得分:0)
经过一段时间的反复试验后,最终为我工作的是修改IronRouter包。第30行/lib/server/router.js更改...
start: function () {
connectHandlers
.use(connect.query())
.use(connect.bodyParser())
.use(_.bind(this.onRequest, this)); },
为...
start: function () {
connectHandlers
.use(connect.query())
.use(connect.bodyParser({limit: '100mb'})) // or whatever you want your limit to be
.use(_.bind(this.onRequest, this)); },