我正在尝试将一个zip文件从node.js服务器发送到node.js客户端,但是当我保存zip时它已损坏且无法打开。
我使用adm-zip压缩文件并发送给客户
app.get('/checkForUpdate', function (req, res) {
var zip = new AdmZip();
zip.addLocalFile("./update.js");
var willSendthis = zip.toBuffer();
res.send(willSendthis);
});
这是我的客户代码
$.ajax({
type: 'GET',
contentType: 'application/json',
data: {version: version},
url: 'http://localhost:3000/checkForUpdate',
success: function (data) {
fs.writeFile("update.zip", data, function(err) {
if(err) {
console.log(err);
} else {
console.log("The file was saved!");
}
});
}
});
答案 0 :(得分:0)
我想这应该设置为MIME类型application/x-zip-compressed
。
答案 1 :(得分:0)
我认为问题在于发送缓冲区。如果我没记错的话,缓冲区需要一个MIME类型的octect流。尝试在标头中使用octect-stream并让adm-zip加载缓冲区