enctype: кодирование данных и загрузка файлов
Атрибут enctype задаёт формат кодирования данных при отправке HTML-формы методом POST.
Назначение
Атрибут enctype задаёт формат кодирования данных при отправке HTML-формы методом POST.
Как это работает
Для файлов обычно нужен multipart/form-data. Каждый элемент передаётся отдельной частью тела запроса, а границу частей формирует браузер. Стандартное urlencoded подходит для обычных текстовых параметров.
Пример
<form action="/upload" method="post" enctype="multipart/form-data"><label>Файл <input type="file" name="document"></label><button type="submit">Загрузить</button></form>
Что должно получиться
Форма описывает отправку файла отдельной частью запроса. Путь /upload нужно реализовать в своём учебном приложении, а не считать готовым сервисом этого справочника.
Граница применения и частая ошибка
Не задавайте вручную Content-Type multipart/form-data при отправке FormData через fetch без корректной boundary. Браузер умеет добавить нужный заголовок сам.
Самостоятельная проверка
В локальном обработчике сравните запрос с enctype и без него. Проверьте имя поля файла и ограничения размера на сервере; внешнюю загрузку в песочнице не ожидайте. Для обработчика на PHP при выборе площадки с поддержкой PHP уточните доступные значения upload_max_filesize и post_max_size, а также лимит тела запроса веб-сервера: одного multipart/form-data недостаточно.
HTML и CSS можно изменить в песочнице ниже. Она изолирована: JavaScript, внешние ресурсы и отправка форм отключены. Для проверки сетевых запросов, отправки данных или функций браузера используйте отдельную локальную страницу.