#php #jquery #ajax #file-upload
#php #jquery #ajax #загрузка файла
Вопрос:
Мне нужно создать форму с несколькими текстовыми полями и несколькими файлами, которые будут загружены вместе с формой. Я хотел бы использовать ajax для отправки, и я думал об использовании плагина jquery для отображения индикатора выполнения.(Я использую php на стороне сервера)
Проблема в том, что если я использую что-то подобное, загрузка начинается асинхронно, но я хочу действительно загружать файлы только тогда, когда вся форма будет проверена и отправлена.
Есть ли способ предварительно загрузить файлы, показывающие индикаторы выполнения, но действительно сохранить их при отправке формы? Что произойдет, если пользователь предварительно загрузит файлы, а затем закроет форму?
Комментарии:
1. «плагин jquery» — пожалуйста, уточните, какой именно
2. Я думал о загрузке файла jquery, но если есть что-то лучшее, не стесняйтесь предлагать. aquantum-demo.appspot.com/file-upload
Ответ №1:
Следующие два утверждения несовместимы:
«я хочу действительно загружать файлы только тогда, когда вся форма проверена и отправлена».
«… предварительно загрузите файлы, показывающие индикаторы выполнения, но чтобы действительно сохранить их при отправке формы»
Если вы хотите загружать файлы в фоновом режиме, но сохранять их только после отправки формы, сделайте что-то вроде этого:
- Загрузка в фоновом режиме в «удерживающий» каталог
- Когда пользователь отправляет форму, переместите файлы из каталога «хранения» в каталог реального хранилища
- Периодически удаляйте все файлы в директоре «хранения», которые старше X часов