Я уже пробовал дюжину разных способов загрузить изображение на 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": ["Файл не был отправлен".]}