В дни, предшествующие AJAX, если вы хотите прикрепить файл к форме, вы просто загрузите файл во время отправки формы.Теперь у нас есть все виды умных способов передачи файлов, или, по крайней мере, два или три популярных способа, некоторые из которых используют Flash или jQuery.Но вы заметили главную проблему обслуживания с этими методами: всякий раз, когда пользователь загружает изображение параллельно с заполнением формы, нет никакой гарантии, что форма будет когда-либо отправлена.Вы должны придумать какой-то механизм тайм-аута для этих загруженных файлов, и это, как правило, означает запуск какого-то процесса обслуживания.Вы можете добавить еще одну движущуюся часть в свою архитектуру, и вам нужно будет периодически отслеживать ее, чтобы убедиться, что вещи не выходят из-под контроля.
В зависимости от ожидаемой частоты и объема трафика, вам нужноопределить некоторые параметры, когда потерянные файлы могут быть удалены.Если вы ожидаете менее 100 загрузок в день, то ежедневные чистки должны быть в порядке.При каждой очистке вы хотите удалить любой файл, который был потерян в течение определенного периода времени.Для этого вам понадобится механизм идентификации старых файлов, и хотя вы сможете сравнить файлы с записями в таблице, для этого потребуются дополнительные ресурсы базы данных, которые могут повлиять на скорость вашего сайта.Это намек на то, что вы должны перемещать эти файлы в другое место после их обработки, чтобы упростить идентификацию потенциальных сирот.
Теперь, контролируя этот процесс, вы можете решить, нужно ли ему запускать больше илименее часто.Если вы приняли плохое дизайнерское решение, уборка будет более болезненной, особенно если она выполняется ежечасно или чаще.
Удачи!