2017-08-26 23 views
0

次のコードがありますが、動作しますが、メッセージに「大きすぎるファイル」は表示されません。私はERR_CONNECTION_RESETとクロムの画面が表示されます。接続を閉じてメッセージを表示するにはどうしたらいいですか?接続を閉じてもメッセージは表示されません

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); 

答えて

0

これを使用します。

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

ありがとうございますが、これは動作しますが、サーバーはアップロード全体を読み込みます。メッセージを中止して表示したいと思います。 –

+0

更新@MarioLopes – turmuka

+0

接続は終了しましたが、ChromeページのERR_CONNECTION_RESETが表示されます。メッセージ「too big file」は表示されません。 –

関連する問題