【问题标题】:Express/NodeJS: stderr: Error: request entity too largeExpress/NodeJS:stderr:错误:请求实体太大
【发布时间】:2016-02-10 05:43:47
【问题描述】:

有如下代码:

var url             = require('url');
var proxy           = require('express-http-proxy');
var localConfig     = require('./config.js');
var frontendRuntime = require('frontend-runtime')(localConfig);
var config          = frontendRuntime.config;
var app             = require('./lib/utils/devServer.js');

var bodyParser = require('body-parser');

app.use(bodyParser.json({limit: 10 * 1024 * 1024}));
app.use(bodyParser.raw({limit: 10 * 1024 * 1024}));
app.use(bodyParser.text({limit: 10 * 1024 * 1024}));
app.use(bodyParser.urlencoded({limit: 10 * 1024 * 1024, extended: true}));

app.use('/some-url', proxy(config.apiEndpointHost, {
  forwardPath: function(req, res) {
    return '/api2' + url.parse(req.url).path;
  }
}));

app.listen(config.portProxy);
console.log('Server started');

如您所见,我为 bodyParser 传递了 'limit' 参数(我想上传文件),但它不起作用 - 当我尝试上传 1.5 Mb 大小的图像时,我收到错误:“stderr: Error : 请求的实体太大”。我该如何解决?谢谢!

【问题讨论】:

    标签: node.js express


    【解决方案1】:

    根据this issue 你不需要bodyParser

    app.use('/some-url', proxy(config.apiEndpointHost, {
          limit: 10 * 1024 * 1024,
          forwardPath: function(req, res) {
            return '/api2' + url.parse(req.url).path;
          }
        }));
    

    【讨论】:

      猜你喜欢
      • 2018-06-10
      • 1970-01-01
      • 2013-11-23
      • 2020-01-25
      • 2013-03-15
      • 1970-01-01
      • 2016-08-05
      • 2016-02-01
      • 2018-12-14
      相关资源
      最近更新 更多