gpt4 book ai didi

javascript - 仅当收到 HTTP 200 时如何通过 pipe() npm-request?

转载 作者:行者123 更新时间:2023-11-30 07:52:38 26 4
gpt4 key购买 nike

我有以下代码:

let request = require('request');
let fs = require('fs');

request.get('http://localhost:8080/report.rtf')
.pipe(fs.createWriteStream(__dirname + '/savedDoc.rtf'));

它运行良好,但前提是文档从给定的 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'))
}
})

关于javascript - 仅当收到 HTTP 200 时如何通过 pipe() npm-request?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49277790/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com