15

我收到这个错误说

error:request entity too large 

上传约 30MB 的视频时,

这是设置代码

app.use(express.bodyParser({
    uploadDir:'./Temp',
    maxFieldsSize:'2 * 1024 * 1024 * 1024 ',
}));

我不确定如何设置 maxFieldsSize 属性,需要一些帮助!!!

4

6 回答 6

15

Express 使用连接中间件,可以通过以下方式指定文件上传大小

app.use(express.limit('4M'));

连接限制中间件

于 2012-11-14T07:06:44.983 回答
8
// Comment sart   
// app.use(express.bodyParser({
//    uploadDir:'./Temp',
//    maxFieldsSize:'2 * 1024 * 1024 * 1024 ',
// }));  

// Add this code for maximun 150mb 
app.use(bodyParser.json({limit: '150mb'}));
app.use(bodyParser.urlencoded({     // to support URL-encoded bodies
limit: '150mb',
extended: true
})); 

// I did it Okay. Goood luck 
于 2016-08-20T01:34:28.653 回答
5

2020 Express 使用 body-parser urlencoded 函数来控制限制。 http://expressjs.com/en/4x/api.html#express.urlencoded

这些是 node_modules>body-parser>lib>types>urlencoded.js https://www.npmjs.com/package/body-parser中的默认设置

  var extended = opts.extended !== false
  var inflate = opts.inflate !== false
  var limit = typeof opts.limit !== 'number'
    ? bytes.parse(opts.limit || '100kb')
    : opts.limit
  var type = opts.type || 'application/x-www-form-urlencoded'
  var verify = opts.verify || false

您可以在此处看到限制的默认设置为 100kb。所以为了提高你可以使用

app.use(express.urlencoded({ extended: false, limit: '2gb' }));

这是通过 NPM 包字节可用的文件类型选项(由 bodyparser 使用) https://www.npmjs.com/package/bytes

"b" for bytes
"kb" for kilobytes
"mb" for megabytes
"gb" for gigabytes
"tb" for terabytes
"pb" for petabytes

我敢肯定这是矫枉过正,但我​​希望这有助于下一个人。

于 2020-02-16T01:49:17.040 回答
3
app.use(express.limit('4mb'));

但是您必须确保在下面添加此行,

app.use(express.bodyParser());

或者

app.use(express.json());
app.use(express.urlencoded());

取决于您使用的版本。

于 2014-04-30T12:46:33.903 回答
2

我正在使用 Express 4。我尝试了许多 app.use() 语句,包括此线程中列出的未弃用的语句,但它们都不起作用。

相反,我只需要在 index.js 中添加一行来更改 Formidable 模块中的 maxFileSize 选项:

// create an incoming form object
var form = new formidable.IncomingForm();

// ADD THIS LINE to increase file size limit to 10 GB; default is 200 MB
form.maxFileSize = 10 * 1024 * 1024 * 1024;

资料来源:来自这里的评论。

于 2019-02-13T00:01:04.737 回答
1
var upload = multer({ storage : storage2, limits: { fileSize: 1024 * 1024 * 50 } });

在nodejs中使用multer增加文件上传大小的正确格式

于 2019-03-04T11:29:57.873 回答