我们如何防止用户上传文件并占用带宽?

场景:我的networking服务器的带宽有限。 用户正在将大file upload到我的nodejs服务器。 我意识到这个尺寸太大了以后就无效了

req.on("data", (chunk) => { size += chunk.size; if(size > 100) { // how would I abort? } }); 

我将如何中止上传,并不会消耗用户的分段上传带宽?

req.removeAllListeners()会在这种情况下做这个工作吗?

如果您使用multer进行file upload,则可以通过执行类似于以下操作的方式轻松地限制文件大小:

 var upload = multer({ storage: storage, limits: { fileSize: maxSize } }) 

对于所有其他types的请求,也可以使用body-parser完成相同的操作:

 app.use(bodyParser.json({limit: maxSize})); app.use(bodyParser.urlencoded({limit: maxSize})); 

raw text