Я работаю над веб-приложением, которое поддерживает загрузку файлов. Я уже привык проверять размер на стороне сервера, но я хотел проверить размер файла на стороне клиента.
Я знаю, что это ограничение браузера, что мы не можем получить доступ к свойствам файла по соображениям безопасности. Поэтому я попробовал как компонент swfupload, так и uploadify. Оба хороши и удовлетворяют потребности.
Но ограничение зависит и от флеш-памяти, поэтому, если мой конечный пользователь не установил флешку, тогда я столкнулся бы с проблемой. Просить их установить флеш - это еще одна вещь, но ее веб-портал и пользовательская база огромны. Поэтому мне не нравится идея попросить их установить flash.
Сегодня я столкнулся с функциями загрузки файлов в gmail. И протестировали это в браузере (IE) без установки флеш-памяти. То, что я нашел, было интересно. Если вы загрузили большой файл, они сделали обратную передачу и сразу же вернули сообщение, размер файла слишком велик.
Как это возможно, как они могут найти размер файла без загрузки всего содержимого.? Я считаю, что это нужно сделать, прочитав информацию заголовка HTTP. Я прав?
Итак, это точная функциональность, которую я хотел реализовать. Если флешка уже установлена, я могу использовать функцию uploadify для проверки размера, иначе может быть реализована технология never-hearof-technique-used-by-google.
может кто-нибудь порекомендовать мне, как это сделать?
Кто-нибудь раньше сталкивался с подобными проблемами, что вы сделали?
Update:
Загрузка Gmail со вспышкой, установленной в FF
без вспышки в IE