Я написал небольшое приложение на Codepen для загрузки в определенный альбом Imgur с помощью API-интерфейса Javascript Fetch. Приложение не загружается, и я не знаю, почему, так как на самом деле я не получаю ответа от сервера. Браузер, похоже, отменяет запрос, а не отправляет его.
Вот мой код:
const form = document.querySelector('form');
form.addEventListener('submit', event => {
const fileInput = event.target.querySelector('input');
const imageFile = fileInput.files[0];
const formData = new FormData();
formData.append('image', imageFile);
formData.append('album', 'EVGILvAjGfArJFI');
fetch('https://api.imgur.com/3/image', {
method: 'POST',
headers: new Headers({
'Content-Type': 'multipart/form-data',
Authorization: 'Client-ID 90ef1830bd083ba',
}),
body: formData
}).then(response => {
if (response.ok) {
alert('Image uploaded to album');
}
}).catch(error => {
console.error(JSON.stringify(error));
alert('Upload failed: ' + error);
});
});
Я не уверен, нужно ли мне читать файл или я могу передать объект файла непосредственно в данные формы. Я видел примеры обоих методов в Интернете, и я попробовал оба с тем же результатом. Я заметил, что инструменты разработчика не отображают данные изображения в теле запроса. Не уверен, означает ли это, что он не отправляется или Chrome просто не отображает его, поскольку в любом случае он не будет удобочитаемым для человека. Я пробовал запрос с включенным и выключенным режимом CORS.
Любое руководство о том, что я делаю неправильно здесь?
init:{credentials: "include"}
к вашемуfetch
? В противном случае он не будет отправлять файлы cookie. - person zero298   schedule 05.02.2018Authorization
. - person raddevon   schedule 06.02.2018