【问题标题】:Send zip file from node.js server to node.js client将 zip 文件从 node.js 服务器发送到 node.js 客户端
【发布时间】:2017-11-01 17:47:45
【问题描述】:

我正在尝试将 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!");
            }

        });
    }
});

【问题讨论】:

    标签: javascript node.js express zip


    【解决方案1】:

    我想这应该设置为 MIME 类型application/x-zip-compressed

    【讨论】:

    • 试试这些:application/zip, application/octet-stream
    【解决方案2】:

    我认为问题在于发送缓冲区。如果我没记错的话,缓冲区需要一种 mime 类型的八进制流。尝试在标头中使用 octect-stream 并让 adm-zip 加载缓冲区

    【讨论】:

      猜你喜欢
      • 2014-05-15
      • 2020-11-06
      • 1970-01-01
      • 1970-01-01
      • 2014-12-27
      • 2015-03-25
      • 2019-03-12
      • 2023-03-08
      • 1970-01-01
      相关资源
      最近更新 更多