Отображать изображения из 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
зависит от того, какой тип изображения вы запрашивали