CloudRail API - Onedrive не может загрузить файл с пробелами в пути
В последние несколько дней код, который раньше работал с пробелами, начал давать сбой. Я активно развиваюсь, поэтому, возможно, я что-то напутал, но я так не думаю. Ниже приведен простой пример, где 5 файлов находятся в каталоге Test. Не удается загрузить только файл с пробелом. Если я перехожу в OneDrive и переименовываю его без пробелов, то мое приложение CloudRail продолжается без ошибок.
Спасибо за любую помощь, вы можете предоставить!
Чарли Беккер
app.get("/auth/test/onedrive", (req, res) => {
let service = makeService('onedrive'); // Make the service the user is logged in with
service.loadAsString(authState); // Skip authentication by loading the saved credentials
service.getUserName((err, name) => { // We retrieve the user's full name and save it on signup so it stays constant
console.log('Hello ' + name);
});
service.getChildren("/Pictures/Test", (err, children) => {
if (err) throw err;
for (let child of children) {
console.log('Trying to download FILE: ' + child.path);
service.download(child.path, (err, stream) => {
if (err) throw err + ' FILE: ' + child.path;
console.log('Downloaded FILE: ' + child.path);
});
}
});
});
Оформление услуги: "onedrive" Пытаюсь скачать ФАЙЛ: / Картинки / Тест / Собаки out.jpg Попытка загрузить ФАЙЛ: /Pictures/Test/dogs out.jpg Попытка загрузить ФАЙЛ: /Pictures/Test/IMAG0039.JPG Попытка загрузить ФАЙЛ: /Pictures/Test/IMG_2494.JPG Попытка загрузить ФАЙЛ: /Pictures/Test/whiskey_black.png Ошибка необработанного отклонения: элемент не существует ФАЙЛ: / Изображения / Тест / Собаки out.jpg Привет Чарли Беккер Загруженный файл: /Pictures/Test/whiskey_black.png Загруженный файл: /Pictures/Test/IMG_2494.JPG Загруженный файл: /Pictures/Test/IMAG0039.JPG Загруженный файл: /Pictures/Test/dogs out.jpg
1 ответ
Очевидно, Microsoft изменила, какую кодировку URL они принимают для имен файлов с пробелами в своем API OneDrive без предварительного уведомления. Новейшая версия CloudRail Node.js SDK (2.17.3) была адаптирована соответствующим образом и должна решить эту проблему.