场景:我的网络服务器带宽有限。用户正在将大文件上载到我的nodejs服务器。在意识到尺寸太大之后我失效了。
req.on("data", (chunk) => {
size += chunk.size;
if(size > 100) {
// how would I abort?
}
});
如何中止上传而不消耗用户分段上传的任何其他带宽?
req.removeAllListeners()会在这种情况下完成工作吗?
答案 0 :(得分:1)
如果您使用multer
进行文件上传,则可以通过以下操作轻松限制文件大小:
var upload = multer({
storage: storage,
limits: { fileSize: maxSize }
})
对于所有其他类型的请求,body-parser
也可以这样做:
app.use(bodyParser.json({limit: maxSize}));
app.use(bodyParser.urlencoded({limit: maxSize}));
与raw
和text
相同。