[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сложная форма и загрузка файлов
guest
Здравствуйте.
Нужно сделать сложную форму (много элементов, зависимость состояния одних от других, в том числе вложенная, загрузка файлов).
Подскажите каким образом лучше реализовать.

Для зависимостей элементов от других нашел хороший плагин. Теперь нужно подумать о загрузке файлов.
Файлов может быть много, при том что для разных пунктов формы могут загружаться разные файлы.

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

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

Подробнее про это. Получается, что сначала нужно загрузить файлы. Загружаются они в папку для временного хранения. Если загрузка успешна, то создаю скрытое поле формы с ID блока загрузки файла или просто присваиваю значение аттрибуту существующего скрытого поля. И когда нажимается кнопка отправить происходит проверка этого значения. Так выясняю загружены ли все файлы или нет.

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

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

Работать эта схема будет. Но что если на каком-то этапе произойдет ошибка или как лучше быть с невостребованными файлами во временной папке. В Mysql есть транзакции. Было бы неплохо, если можно было бы реализовать что-то подобное для формы в общем.

Покритикуйте схему. Подскажите варианты. Может сталкивались.
Lightt
Натыкался как то на тему на Хабре. Глянь может подойдет такое решение.

http://habrahabr.ru/post/140400/
Демо: http://blueimp.github.io/jQuery-File-Upload/
guest
Спасибо за ссылку. Это в том числе для себя определил, но есть более удобный загрузчик. Речь о том, каким образом синхронизировать загрузку файлов и сохранение информации в БД.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.