2016-07-29 3 views
0

Ich verwende derzeit "Anfrage" -Modul, um einige Dateien herunterzuladen.nodejs Anfrage Modul auf Antwortstatus vor dem Pipe in Datei überprüfen

Der Code sieht aus wie

function download(url, fileName, path) { 
    return new Promise(function(resolve, reject) { 
     request({url: url}) 
     .pipe(fs.createWriteStream(path)) 
     .on("close", function() { 
      log.d("File %s downloaded to path %s", fileName, path); 
      resolve(info); 
     }) 
     .on("error", reject); 
    }); 
} 

Nun merke ich, dass, selbst wenn die URL einen 404 NOT FOUND zurückgibt. Irgendwie schafft das Request-Modul noch etwas heraus und eine Datei mit 1 kb wird gespeichert.

Was kann ich tun, um den Statuscode abzufangen, vielleicht überprüfen, dass es weniger als 400 ist. Bevor Sie es in die Datei leiten?

Ich schaue ihre Github, konnte kein Beispiel finden.

Vielen Dank. im Grunde

+0

Welches Modul ist ‚Antrag‘ geben? –

+1

Hmmm, ich sehe '.on ('Antwort', Funktion (Antwort) {console.log (response.statusCode) ... '- https://github.com/request/request#streaming. Es ist unglaublich. –

Antwort

0

OK Ich brauche von der Anforderung() einen Rückruf und lehnen auf status> = 400

Verwandte Themen