Я работаю над веб-приложением. Существует одно место, где пользователь может загружать файлы с помощью протокола HTTP. Существует выбор между классическим управлением HTML-файлами и апплетами Java для загрузки файлов.Лучший способ загрузить несколько файлов из браузера
Классическая загрузка файла HTML невелика, потому что вы можете выбирать только один файл за раз, и очень сложно получить индикацию прогресса во время фактической загрузки (я, наконец, получил его, используя таймер, обновляющий индикатор прогресса с данные, полученные с сервера через вызов AJAX). Преимущество: он всегда работает.
С помощью апплета Java я могу сделать больше вещей: выбрать сразу несколько файлов (даже папку), сжать файлы, получить реальный индикатор выполнения, перетащить файлы на апплет и т. Д.
НО есть несколько недостатков:
- это кошмар, чтобы заставить его правильно работать на Mac Safari и Mac Firefox (спасибо LiveConnect)
- интерфейс не совсем родной интерфейс и некоторые люди замечают, что
- апплет не так отзывчив, как должен (может быть, я виноват, но все выглядит нормально)
- есть ошибки в классе Java
UrlConnection
с HTTPS, поэтому я использую общий HTTP-клиент Apache для фактической загрузки HTTP. Это довольно большой пакет и замедляет загрузку файла .jar - общего HTTP-клиент Apache иногда неприятность происходит через прокси
- среды выполнения Java довольно большой
Я поддерживать этот Java, но теперь я устал от всех недостатков и рассматриваю возможность написания/покупки совершенно нового компонента для загрузки файлов тезисов.
Вопрос
Если вы имели следующие требования:
- загружать несколько файлов из браузера, через HTTP или HTTPS
- сжимают файлы, чтобы уменьшить время загрузки
- загрузка должна работать на любой платформе, с собственным пользовательским интерфейсом
- должен иметь возможность загружать огромные файлы, до 2 гб т не менее
- у вас есть карт-бланш на технологии
Какие технологии/compontent вы бы использовали?
Edit:
- Drag'n'Drop файлов на компонент будет большой плюс.
- Похоже, что существует множество проблем, связанных с ошибками с Flash Player (swfupload known issues). Правильная поддержка Mac и загрузка через прокси с аутентификацией - это варианты, без которых я не могу обойтись. Вероятно, это исключает все варианты на основе Flash :-(.
- Я исключаю все параметры HTML/Javascript, потому что вы не можете выбирать более одного файла за раз с помощью классического элемента управления HTML. Это боль, чтобы щелкнуть n-раз кнопку «просмотреть», когда вы хотите выбрать несколько файлов в папке.
Что можно сказать о возобновляемых загрузках? Для меня это действительно важно.Никто не любит перезагружать загрузку, которая не удалась через пару часов. –
Правда, в этом случае я не думаю, что вы все еще можете использовать Flash, только Java (и Silverlight?) –
Здравствуйте, еще один флеш-загрузчик можно найти по адресу http://digitarald.de/project/fancyupload/ – 2011-08-08 16:08:47