@Dreaded

Как подставить в форму загруженный файл?

Пользователь заполняет форму, в которой есть текстовые поля и поля загрузки файла.
Если какие то данные в форме не проходят валидацию, то в базу они не отправляются, а форма перезагружается с указанием ошибок.
Что бы пользователю не пришлось полностью заново заполнять форму, текстовые поля прошедшие валидацию я подставляю в загруженную форму, примерно следующим образом:
<input type="text" name="homepage" value="<?=($validValue) ?? '';?>">

Возможно ли подставить в форму уже загруженный пользователем файл? И если да то как ?
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
@iljaGolubev
Небезопасно для пользователей, поэтому браузер не даст загрузить с диска файл который явно не указан пользователем.
Ваше решение: не перезагружать страницу при отправке формы - используйте ajax.
Ну или придумать что-то используя:
1. Загрузить файл в браузер jsfiddle.net/Bwj2D/11
2. Сохранить в localStorage https://hacks.mozilla.org/2012/02/saving-images-an...
3. On Submit: Если в localStorage есть файл - отправлять его как base64 на сервер.
4. После POST->redirect показать, что в localStorage есть файл. Дать возможность его удалить. Если пользователь загружает новый файл выполнить пункт 1.
... помоему, ajax проще
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы