Я пытаюсь реализовать сборщик OneDrive. Пользователь может выбрать свои файлы, а затем, при сохранении, я могу получить эти файлы и загрузить их.WL.загрузка с несколькими файлами (OneDrive API)
Я следую OneDrive Документация по API, и я получаю эту:
WL.init({ client_id: clientId, redirect_uri: redirectUri });
WL.login({ "scope": "wl.skydrive wl.signin" }).then(
function(response) {
openFromSkyDrive();
},
function(response) {
log("Failed to authenticate.");
}
);
function openFromSkyDrive() {
WL.fileDialog({
mode: 'open',
select: 'single'
}).then(
function(response) {
log("The following file is being downloaded:");
log("");
var files = response.data.files;
for (var i = 0; i < files.length; i++) {
var file = files[i];
log(file.name);
WL.download({ "path": file.id + "/content" });
}
},
function(errorResponse) {
log("WL.fileDialog errorResponse = " + JSON.stringify(errorResponse));
}
);
}
function log(message) {
var child = document.createTextNode(message);
var parent = document.getElementById('JsOutputDiv') || document.body;
parent.appendChild(child);
parent.appendChild(document.createElement("br"));
}
В избранных вариантов, вы можете установить «сингл» или «мульти», чтобы позволить пользователю выбрать один или несколько файлов из сборщик. Но когда я пытаюсь установить 'multi', метод WL.download работает только для последнего файла.
Спасибо за помощь!
пс: я не нашел реальное решение на StackOverflow или любом форуме
Благодарим за интерес, Наконец-то мне пришлось управлять загрузкой на стороне PHP. Итак, я отправляю DownloadUrl с javascript на PHP с AJAX. Затем я использую копию, завиток или что-то еще, чтобы загрузить файл. Обратите внимание, что OneDrive предоставляет вам общедоступный URL-адрес для загрузки, который не требует авторизированного запроса. Проблема решена – LouisDev