34 подписчика
Multipart/form-data
Давайте разберемся, как мы можем отправлять данные на сервер. Самый популярных способ это отправка json. Сервер получает json, парсит его и обрабатывает. Но как быть с файлами? Json не может хранить в себе файл.
В js используется класс FormData.
const formData = new FormData();
У него есть много разных методов, но самые основные это get() и append(). Исходя из названий, можно сделать вывод, что мы можем читать и дополнять данные. По своей сути formData это массив объектов, где у каждого есть ключ в виде названия и значение в виде данных.
Зачастую требуется указать в запросе следующие заголовки:
const headers = {
'Content-Type': 'multipart/form-data',
Accept: 'application/json',
};
Но иногда content-type может привести к тому, что сервер не может правильно интерпретировать заголовки.
С такой ситуацией, я столкнулся недавно в проекте
Около минуты
25 сентября 2024