Это ограничение браузера. При отправке данных с fetch
или XMLHttpRequest
вы можете использовать только объекты POST, но это означает, что вы должны отправить свою форму асинхронно.
Когда мы хотим отправить файлы вместе с классической формой, мы сталкиваемся с серьезным ограничением браузера. Поле ввода файла является единственным полем, доступным для отправки файлов на сервер, но его значение не может быть установлено. Значение поля ввода файла может быть изменено пользователем только путем добавления файлов вручную (одним действием).
Чтобы обойти это, вы можете использовать плагин File Encode , который кодирует файлы как строки данных base64 и отправляет их на сервер.
Отправка форм с очень большими строками в кодировке base64 может привести к нехватке памяти браузерами (особенно на мобильных устройствах). Программное обеспечение безопасности на стороне сервера также может пометить сообщение большой формы как небезопасное и помешать успешной отправке.