Выяснить, загружен ли пользователь полностью или нет - PullRequest
1 голос
/ 13 октября 2010

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

Есть ли способ узнать, удалось ли пользователю загрузить файл полностью, чтобы он мог быть удален и не засорить мой сервер устаревшими файлами?

В настоящий момент проблема заключается в том, что пользователь нажимает кнопку «Загрузить файл», а затем он отменяется или завершается ошибкой, поэтому они пытаются снова, но он был удален.

Ответы [ 2 ]

1 голос
/ 13 октября 2010

Невозможно точно сказать, был ли файл загружен полностью - даже если вы подсчитали байты, загруженные браузером, что, если их браузер загрузил каждый его байт, но затем, например, потерпел крах?Распространенное решение этой проблемы - оставить файл там на заданный период, а затем удалить его.Вы говорите пользователю: «Ваша загрузка будет доступна в течение следующих 48 часов.»

(точный приведенный выше пример произошел со мной в магазине MP3 Store от Amazon. Мне пришлось связаться со службой поддержки, чтобы они снова включили загрузку, что, к их чести, они сделали очень быстро, но привлечение клиентов для чего-то подобного стоит дорого.)

0 голосов
/ 13 октября 2010

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

...