2017-08-26 1 views
0

Ich habe den folgenden Code und es funktioniert, aber keine Meldung 'zu große Datei'. Ich sehe einen Chrombildschirm mit ERR_CONNECTION_RESET. Wie kann ich die Verbindung schließen und die Nachricht anzeigen?Schließen der Verbindung, aber nicht Display-Meldung

var size = 0; 

var gotData = function(d) { 
    size += d.length; 
    if (size > (1 * 1024 * 1024)) { 
      console.log('aborting request'); 
      res.writeHead(413, { 
       'Connection': 'close' 
      }); 
      res.end('too big file'); 
    } 
}; 

req.on('data', gotData); 

Antwort

0

Verwenden Sie dies.

var size = 0; 

var sizeTooMuch = function(){ 
     console.log('aborting request'); 
     response.writeHead(413, 'Request Entity Too Large', {'Content-Type': 'text/html'}); 
     response.end('<!doctype html><html><head><title>413</title></head><body>Too big file 413</body></html>')   
     return false; 
} 

var gotData = function(d) { 
    size += d.length; 
    if(size > (1 * 1024 * 1024){ 
    sizeTooMuch(); 
    } 
}; 

var endFunc = function(){ 
     console.log("got the file"); 
     res.send("got the file"); 
     res.end(); 
} 

req.on('data', gotData); 

req.on('end', endFunc); 
+0

Danke, das funktioniert, aber der Server wird den gesamten Upload laden. Ich möchte die Nachricht abbrechen und anzeigen. –

+0

Update wieder @MarioLopes – turmuka

+0

Die Verbindung wird geschlossen, aber ich sehe ERR_CONNECTION_RESET von Chrom-Seite. Die Nachricht 'too big file' wird nicht angezeigt. –

Verwandte Themen