Node.js:下载gzip文件,解压并使用重命名保存文件
我需要编写node.js脚本,下载包含多个文件的gzip文件,然后在更改文件名的情况下将其解压缩。我还尝试使用最少数量的外部npm包(最好没有)。作为第一步,我尝试下载并解压缩:Node.js:下载gzip文件,解压并使用重命名保存文件,node.js,stream,zlib,Node.js,Stream,Zlib,我需要编写node.js脚本,下载包含多个文件的gzip文件,然后在更改文件名的情况下将其解压缩。我还尝试使用最少数量的外部npm包(最好没有)。作为第一步,我尝试下载并解压缩: const https = require('https'); const zlib = require('zlib'); https.get(url, function(response) { var gunzip = zlib.createGunzip(); response.pipe(gunzip
const https = require('https');
const zlib = require('zlib');
https.get(url, function(response) {
var gunzip = zlib.createGunzip();
response.pipe(gunzip);
});
不幸的是,我看到了这个错误:
错误:标头检查不正确
知道怎么修吗?顺便说一句,如果我将gzip下载到文件中,我可以成功解压。关于
如果我将gzip下载到文件中,我可以成功解压。
,在这种情况下,文件是使用您的脚本下载的吗?在您的情况下,当看到响应值时,您会得到什么值?因为来自错误:不正确的标题检查
,我担心可能无法下载正确的数据。例如,由于重定向。这个怎么样?如果我对您的情况的理解不正确,我道歉。是的,我使用https.get加载文件并将其流式保存为文件。我想强调的一个重要注意事项是压缩文件是文件的集合谢谢您的回复。在您的情况下,url不会被重定向。gzip数据可以直接从URL下载。我的理解正确吗?而且,关于压缩文件是文件的集合
,在本例中,您的数据是“zip”而不是“gzip”?很抱歉,回复太晚了。是的,它是gzip文件。我最终使用了第三方npm库“Unzippers”,谢谢您的回复。我很高兴你的问题解决了。当您的问题得到解决时,您能否将其作为答案发布?这样,它将对其他有相同问题的用户有用。顺便说一下,从开始,我使用了第三方npm库“unzipper”
,我认为您的文件是zip文件,而不是gzip文件。这个怎么样?