我需要在我的 nodejs 应用程序中下载并解压缩 zip 存档。我有这个代码:
utils.apiRequest(teamcityOptions)
.then(function (loadedData) {
var tempDir = tmp.dirSync();
var tmpZipFileName = tempDir.name + "\\" + 'bob.zip';
fs.appendFileSync(tmpZipFileName, loadedData);
var zip;
try {
zip = new AdmZip(tmpZipFileName);
} catch (e) {
log('Can not create zip, bad data', e);
}
});
这段代码给了我错误:
无法创建 zip,错误数据 CEN 标头无效(签名错误)
我使用的是 Windows 7。我什至无法使用 7-zip 或 WinRAR 打开这个 ZIP 文件(简单的错误,如损坏的数据)。
此外,utils.apiRequest
函数体是:
utils.apiRequest: function (options) {
var deferred = defer();
https.get(options, function (request) {
var loadedData = '';
request.on('data', function (dataBlock) {
loadedData += dataBlock.toString('utf8');
});
request.on('end', function () {
deferred.resolve(loadedData);
})
});
return deferred.promise;
}
我该如何解决我的问题?
PS:我使用没有问题curl
:)