У меня проблема с формой на моем сайте. Форма содержит некоторые текстовые входы и вход для загрузки файлов. Когда некоторые текстовые поля заполнены неправильно, возникает ошибка, и страница перезагружается. Но: если я выберу файл, не заполняйте другие файлы правильно, а страница перезагружается, я должен снова выбрать файл, он не сохраняется в форме.
Может ли кто-нибудь помочь мне, пожалуйста?
По соображениям безопасности вы не можете установить значение ввода файла на любом клиенте или сервере.
Я могу думать об этих возможностях:
Это сообщение предоставляет один метод решения на стороне сервера, включающий в себя идентификацию на странице, которая ссылается на ранее загруженные файлы, а не на фактические входные файлы (поскольку файлы, вероятно, уже загружены).
Многие сайты, которые принимают файлы, загружают их в несколько разную форму. Загрузка файлов завершена, а затем остальная часть формы заполняется и отправляется с сервером, поддерживающим ссылочное соединение между ранее загруженными файлами и текущим действием, которое будет отправлено на сервер. Популярное программное обеспечение форума vBulletin работает таким образом для вложений в сообщения. Вложения загружаются в отдельной форме/пользовательском интерфейсе.
Вы можете отправить свою форму через ajax, а не как отправку формы. Поскольку вызов ajax не изменяет текущую страницу, если вы получаете ошибки из представления через ajax, тогда текущая страница и выбранные входные файлы остаются. Вы можете добавить свои отчеты об ошибках на текущую страницу с помощью javascript и показать пользователям такую ошибку.
Вы также можете избежать большей части этой проблемы (подумали не все), выполнив как можно большую проверку на стороне клиента с помощью javascript перед отправкой формы, чтобы уменьшить возможности сервера, когда-либо отклоняющие представление формы.