Загрузка нескольких файлов с помощью ajax вместе с отправкой формы

#php #jquery #ajax #file-upload

#php #jquery #ajax #загрузка файла

Вопрос:

Мне нужно создать форму с несколькими текстовыми полями и несколькими файлами, которые будут загружены вместе с формой. Я хотел бы использовать ajax для отправки, и я думал об использовании плагина jquery для отображения индикатора выполнения.(Я использую php на стороне сервера)

Проблема в том, что если я использую что-то подобное, загрузка начинается асинхронно, но я хочу действительно загружать файлы только тогда, когда вся форма будет проверена и отправлена.

Есть ли способ предварительно загрузить файлы, показывающие индикаторы выполнения, но действительно сохранить их при отправке формы? Что произойдет, если пользователь предварительно загрузит файлы, а затем закроет форму?

Комментарии:

1. «плагин jquery» — пожалуйста, уточните, какой именно

2. Я думал о загрузке файла jquery, но если есть что-то лучшее, не стесняйтесь предлагать. aquantum-demo.appspot.com/file-upload

Ответ №1:

Следующие два утверждения несовместимы:

«я хочу действительно загружать файлы только тогда, когда вся форма проверена и отправлена».

«… предварительно загрузите файлы, показывающие индикаторы выполнения, но чтобы действительно сохранить их при отправке формы»

Если вы хотите загружать файлы в фоновом режиме, но сохранять их только после отправки формы, сделайте что-то вроде этого:

  • Загрузка в фоновом режиме в «удерживающий» каталог
  • Когда пользователь отправляет форму, переместите файлы из каталога «хранения» в каталог реального хранилища
  • Периодически удаляйте все файлы в директоре «хранения», которые старше X часов