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