@Zenko

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

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

Как передать саму картинку желательно ассинхронным запросом на бекенд?
Знаю, можно динамически генерить форму из JS и вызвать submit, но такой вариант не желателен т.к. необходимо без перезагрузки страницы забросить картинки на сервер.
Есть смысл сгенерировать картинку в формате строки base64 и потом JSON-ом передавать на бекенд?
  • Вопрос задан
  • 1403 просмотра
Решения вопроса 2
Tim-A-2020
@Tim-A-2020
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).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы