Отображать изображения из Dropbox с API Java

Я пытаюсь создать страницу, которая может показывать все изображения в папке dropbox через API Javascript.

Мне удалось правильно настроить приложение Dropbox, и я могу получить список файлов.

Я застрял в части, чтобы получить URL, который я мог бы фактически использовать, чтобы показать изображение в HTML. Я попытался следующий код, чтобы попытаться получить URL для 1 изображения в настоящее время:

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.data или console.log(result)Я не могу найти URL, который мог бы использовать в своем HTML.

Любые указатели, чтобы направить меня в правильном направлении? Я все еще новичок в API Dropbox Javascript.

1 ответ

Решение

Слава Greg

Метод 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, описанные здесь.

Для других такая же проблема:) Теперь Dropbox JS Api вместо этого возвращает данные изображения base64, поэтому вам нужно сделать что-то вроде этого:

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

data:image/jpg зависит от того, какой тип изображения вы запрашивали

Другие вопросы по тегам