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



场景:我的 Web 服务器的带宽有限。用户正在将一个大文件上传到我的 nodejs 服务器。意识到尺寸太大后使它无效。

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

如何中止上传,并且不占用用户分段上传的任何进一步带宽?

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

如果您使用multer进行文件上传,则可以通过执行以下操作轻松限制文件大小:

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

对于所有其他类型的请求,也可以对body-parser执行相同的操作,方法是执行以下操作:

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

rawtext也是如此.

最新更新