我正在使用优秀的Request库来下载 Node 中的文件,用于我正在使用的小型命令行工具。Request 非常适合拉入单个文件,完全没有问题,但它不适用于 ZIP。
例如,我正在尝试下载Twitter Bootstrap存档,该存档位于以下 URL:
http://twitter.github.com/bootstrap/assets/bootstrap.zip
代码的相关部分是:
var fileUrl = "http://twitter.github.com/bootstrap/assets/bootstrap.zip";
var output = "bootstrap.zip";
request(fileUrl, function(err, resp, body) {
if(err) throw err;
fs.writeFile(output, body, function(err) {
console.log("file written!");
}
}
我也尝试将编码设置为“二进制”,但没有运气。实际的 zip 约为 74KB,但通过上述代码下载时约为 134KB,在 Finder 中双击解压时,出现错误:
无法将“bootstrap”提取到“nodetest”(错误 21 - 是一个目录)
我觉得这是一个编码问题,但不知道从哪里开始。