Лучшие практики загрузки больших файлов в Интернет с прогрессивным улучшением

Я создаю HTML-форму, с помощью которой пользователь должен иметь возможность загружать большие файлы размером до ~ 100 МБ.

Мои пользователи могут приходить откуда угодно, поэтому я не могу рассчитывать на широкополосное соединение, современный браузер или доступность Javascript/Flash. Для пользователей, у которых есть эти «дополнения», я хотел бы предложить лучший опыт, например некоторую форму обратной связи о процессе и гибкую форму.

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

Не совсем актуально, но бэкэнд на PHP.


person Niels Bom    schedule 24.09.2010    source источник


Ответы (1)


Если ваш бэкенд — PHP, то среди прочего вам нужно посмотреть на upload_max_filesize. Большинство вопросов настройки рассматриваются здесь. Заставить ваше приложение проверять и действовать в соответствии с параметрами среды выполнения также является хорошей идеей, поскольку это повышает отказоустойчивость.

Я бы не рекомендовал использовать Flash во внешнем интерфейсе, потому что он имеет тенденцию к сбою при работе с большими файлами. А без Javascript обратная связь процесса вообще невозможна, за исключением встроенных функций браузера. Лучший опыт, который вы можете предоставить без Javascript, — это поместить форму загрузки файла в iframe, чтобы содержащая страница не исчезла во время загрузки.

Для обычных сценариев хорошим выбором будет использование комбинации APC и облегченного AJAX. На веб-сайте IBM есть пошаговое руководство по реализации по этому вопросу.

person Saul    schedule 24.09.2010