@Zenko

Как передать через fetch() на бекенд картинку?

Для предпросмотра картинок использую:
let image = document.getElementById('img')
image.src = window.URL.createObjectURL(input.files[0])

Как передать саму картинку желательно ассинхронным запросом на бекенд?
Знаю, можно динамически генерить форму из JS и вызвать submit, но такой вариант не желателен т.к. необходимо без перезагрузки страницы забросить картинки на сервер.
Есть смысл сгенерировать картинку в формате строки base64 и потом JSON-ом передавать на бекенд?
  • Вопрос задан
  • 73 просмотра
Решения вопроса 2
Tim-A-2020
@Tim-A-2020 Куратор тега JavaScript
let data = new FormData();


data.append('file', input.files[0]);

const options = {
  method: 'POST',
  body: data	
}

const response = await fetch('url', options);
const res = await response.json();
console.log(res);
Ответ написан
KulakovAngel
@KulakovAngel
Full Stack Developer (Node.JS)
Есть смысл сгенерировать картинку в формате строки base64 и потом JSON-ом передавать на бекенд?

Думаю, смысл есть. Нужно знать контекст. Смотря что разрабатываете. Смотря что ожидает сервер. Смотря, как хранятся данные. Скажем, если у Вас RestFull API, и общение с сервером происходит на основе JSON, то я бы и картинку передавал в JSON, как Вы и написали. Если же это "доделка" к, скажем, WordPress, или другой CMS, и она ожидает именно картинку, то см. ответ Выше (Tim).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
Intspirit Краснодар
от 80 000 до 150 000 ₽