使用 Dropbox JavaScript SDK 下载文件时出现问题

Problems Downloading files using Dropbox JavaScript SDK

当我使用 filesDownload() 时,我需要弄清楚我的文件在哪里下载。我没有看到文件目标的参数。这是我的代码:

require('isomorphic-fetch'); 
var Dropbox = require('dropbox').Dropbox;
var dbx = new Dropbox({ accessToken: 'accessToken', fetch});

dbx.filesDownload({path: 'filepath}).
  then(function(response) {
  console.log(response);
})
.catch(function(error) {
  console.log(error);
});

当我 运行 代码但我在任何地方都看不到文件时,我得到了一个成功的回调。

我需要知道我的文件下载到哪里以及如何在我的函数中指定文件目的地。

谢谢, 杰拉德

我已经使用了 SDK 文档中描述的功能 (http://dropbox.github.io/dropbox-sdk-js/Dropbox.html#filesDownload__anchor),但我不知道我的文件去了哪里。

预期结果:文件下载到 Dropbox 到我指定的路径。

实际结果:我从 Dropbox 收到成功的回调,但我找不到下载的文件。

在Node.js,Dropbox API v2 JavaScript SDK下载方式return文件数据在fileBinary 属性他们传递给回调的对象的数量(在您的代码中是 response)。

您可以在此处找到相关示例:

https://github.com/dropbox/dropbox-sdk-js/blob/master/examples/javascript/node/download.js#L20

因此,您应该能够以 response.fileBinary 的身份访问数据。它不会自动为您将其保存到本地文件系统,但您可以根据需要这样做。

您需要使用 fs 模块将二进制数据保存到文件。

dbx.filesDownload({path: YourfilePath})
    .then(function(response) {
      console.log(response.media_info);
          fs.writeFile(response.name, response.fileBinary, 'binary', function (err) {
                if (err) { throw err; }
                console.log('File: ' + response.name + ' saved.');
              });
    })
    .catch(function(error) {
      console.error(error);
    });