【发布时间】:2018-02-18 19:44:50
【问题描述】:
我正在使用 multer v1.3.0 和 express v4.15.4。
我使用了如下文件大小限制
multer({
storage: storage,
limits: {fileSize: 1*1000*50, files:1},
fileFilter: function (req, file, cb) {
if (_.indexOf(['image/jpeg', 'image/png'], file.mimetype) == -1)
cb(null, false);
else
cb(null, true)
}
});
在这种情况下,我认为限制不起作用。因为没有得到任何 LIMIT_FILE_SIZE 错误。
如果我删除 fileFilter,则会收到 LIMIT_FILE_SIZE 错误。
但在这两种情况下,首先要检查整个文件上传,然后检查文件大小。
上传一个 1GB 的文件然后检查它的大小是不是 1MB 一点都不好。 所以我想知道当文件大小限制超过时是否有任何方法可以在中间停止上传。我不想依赖 Content-Length。
【问题讨论】:
-
尝试将
fileSize更改为1再试一次,告诉我 -
@turmuka 一样。我测试了一个 33MB 的文件,在 13581.00 毫秒后显示错误:文件太大
-
尝试使最大文件大小
250000我计算错误,如下面的答案所述,当它达到文件大小时应该退出接收流
标签: node.js express file-upload filesize multer