0

我正在尝试创建一个页面,该页面可以通过 Javascript API 显示保管箱文件夹中的所有图片。

我能够正确设置我的保管箱应用程序,并且能够获取文件列表。

我被困在获取一个我实际上可以用来在 HTML 中显示图片的 URL 的部分。我尝试了以下代码,暂时尝试获取 1 张图片的 URL:

dbx.filesListFolder({path: ""})
    .then(function(response) {
        console.log(response);
        // ↑ this works!
        dbx.filesGetThumbnail({path: response.entries[0].path_display, format: "jpeg", size: "w64h64"})
            .then(function(result) {
                window.data = result;
                console.log(result);
            })
        // closures and rest of code...

检查window.dataconsole.log(result),我似乎找不到任何可以在我的 HTML 中使用的 URL。

任何指示我朝着正确的方向前进?我还是 Dropbox Javascript API 的新手。

4

2 回答 2

2

格雷格致敬

filesGetThumbnail 方法本身并不返回缩略图数据的 URL。它直接返回原始缩略图数据。如果您希望 URL 在浏览器中本地显示,您可能需要如下所示:

dbx.filesGetThumbnail({"path": "/test.jpg"})
  .then(function(response) {
    var img = document.createElement('img');
    img.src=window.URL.createObjectURL(response.fileBlob);
    document.body.appendChild(img);
  })
  .catch(function(error) {
    console.log("got error:");
    console.log(error);
  });

顺便说一句,您可以在此处找到记录的所有 API v2 JavaScript SDK 方法。

于 2017-03-31T15:07:11.310 回答
2

对于其他人有同样的问题:) 现在 Dropbox JS Api 返回 base64 图像数据,所以你需要做这样的事情:

  var img = document.createElement('img');
  img.src = "data:image/jpg;base64, " + <data returned>;

data:image/jpg取决于您请求的图像类型

于 2019-09-05T07:02:07.817 回答