Кордова не может загрузить изображение, независимо от того, что я делаю. Есть ли параметр, который я пропускаю? - PullRequest
0 голосов
/ 07 июня 2019

Я уже пробовал дюжину разных способов загрузить изображение на REST-сервер, и все они должны работать. Но я просто не могу. Код выполняется, запрос отправляется, но на сервер никогда не поступает файл.

Я запускаю различные попытки на Samsung Galaxy S8. Сам код работает без ошибок, но сам файл изображения всегда отсутствует.

Вот одна из таких попыток, собранная из различных онлайн-источников:

window.resolveLocalFileSystemURL(imageUrl, fileEntry => {
    fileEntry.file(file => {
        var fd = new FormData();
        var reader = new FileReader();

        reader.onloadend = () => {
            var imgBlob = new Blob([this.result], {
                type: file.type
            });
            fd.append('file', imgBlob);
            var req = new XMLHttpRequest();
            req.open('POST', 'https://server/');
            req.setRequestHeader('Authorization', 'Token token')
            req.onreadystatechange = () => {
                 console.log('State change:', req.response);
            };
            req.send(fd);

        };

        reader.readAsArrayBuffer(file);
    });
});

Ответ всегда:

Не удалось загрузить ресурс: сервер ответил со статусом 400 (неверный запрос)

{"upload": ["Файл не был отправлен".]}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...