2010-04-27 3 views
3

Проект - это сервлет, к которому люди могут загружать файлы через HTTP POST. Это сопровождается веб-страницами, предоставляющими интерфейс для запуска загрузки. Мы имеем более или менее полный контроль над сервлетом и веб-страницами, но не хотим налагать какие-либо ограничения на клиента, не являясь достаточно современным браузером с Javascript. Нет Java-апплетов и т. Д.Возможно ли реализовать любое восстановление/возобновление загрузки файлов в браузере?

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

Любые предложения?

+0

Спасибо, ребята. Похоже, ответ «невозможно сейчас, может быть, один день». Мы не можем действительно полагаться на вещи, которые все еще имеют кровоточивость. –

ответ

1

С вашими текущими ограничениями, нет.

(. Там может быть маленький шанс, что с помощью файла API HTML5 может быть в состоянии сделать это Может быть, кто-то более знающий могу комментировать, потому что я обычно не могу сделать головы или хвосты технических спецификаций из w3c: http://www.w3.org/TR/file-upload/)

+0

Я не видел ничего в HTML5 о наличии этой способности. –

+0

Обновлено мое сообщение со ссылкой. Проверьте «Интерфейс Blob». Может ли это быть возможностью? – zaf

+0

похоже, что это может быть. Даже по-прежнему полагаться на HTML5 - это не очень хорошая идея на данный момент по очевидным причинам :-) –

1

Не с равниной Ol 'JS. Он не имеет доступа к файловой системе, даже файл, добавленный в элемент управления input type=file, и поэтому он не может манипулировать данными и загружать через XHR.

Вам нужно будет изучить альтернативу Flash или Java.

+2

, если вы (Пит) можете уйти от него ... используйте флеш-решение. Java занимает слишком много времени для инициализации. –

0

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

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

https://developer.mozilla.org/en/DOM/FileReader

Смежные вопросы