@Zenko

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

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

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

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

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 23:00
5000 руб./за проект
19 апр. 2024, в 20:43
20000 руб./за проект