Mik*_*ser 1 javascript node.js npm-request node-streams
我有以下代码:
let request = require('request');
let fs = require('fs');
request.get('http://localhost:8080/report.rtf')
.pipe(fs.createWriteStream(__dirname + '/savedDoc.rtf'));
Run Code Online (Sandbox Code Playgroud)
它运行良好,但前提是文档从给定的 URL 成功下载。但是,如果有任何 HTTP: 403、404 或任何其他错误,则会保存一个长度为零的空文件!
我怎么能.pipe()只在 HTTP: 200 响应的情况下而不使用任何额外的 HEAD 请求?应该可以一口气搞定!
.statusCode配管前检查:
const req = request
.get('http://localhost:8080/report.rtf')
.on('response', function (res) {
if (res.statusCode === 200) {
req.pipe(fs.createWriteStream(__dirname + '/savedDoc.rtf'))
}
})
Run Code Online (Sandbox Code Playgroud)