Node-js - 下载和存储文件 - 二进制 - Archieve损坏

时间:2014-12-02 17:15:12

标签: node.js binary dropbox-api node-webkit fs

我正在使用Node.js Dropbox API读取文件,然后将其存储(在Windows上)。

它是一个重命名的.zip文件(Node Webkit package => .nw)

我的代码:

{responseType:“b”}代表二进制。

client.readFile("package.nw", {responseType: "b"}, function(error, data) {
          if (error) {
            return showError(error);  // Something went wrong.
            throw new Error(error);
          }
            toastr.info("Storing update..");
            console.log(data);
            fs.writeFile("package.nw", data, 'binary', function(err) {
                if(err) {
                    return showError(error);
                }

                toastr.info("Update complete!");
            });
        });

当我尝试打开包时,它已损坏。

如何妥善保存? 在此先感谢Jeroen

1 个答案:

答案 0 :(得分:0)

搞定了!

client.readFile("package.nw", {binary : true}, function(error, data) {
          if (error) {
            return showError(error);  // Something went wrong.
            throw new Error(error);
          }
            toastr.info("Storing update..");
            console.log(data);
            fs.writeFile("package.nw", data, 'binary', function(err) {
                if(err) {
                    return showError(error);
                }

                toastr.info("Update complete!");
            });
        });

必须使用{binary:true}才能让它正常运行! https://www.dropbox.com/developers/datastore/docs/js#Dropbox.Client.readFile