Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Загрузка больших файлов в фоновом режиме, инициированная из браузера

Автор вопроса: pilsetnieksОтветов: 5

Есть ли разумный способ разрешить пользователям веб-приложения загружать большие файлы? Я ищу что-то другое, кроме встроенного диалогового окна загрузки браузера - требования заключаются в том, что пользователь инициирует загрузку из браузера, а затем какое-то другое приложение вступает во владение, загружает файл в фоновом режиме и не выходит, когда браузер закрыто. Возможно, он будет работать через http, ftp или даже через bittorrent. Было бы неплохо иметь независимость от платформы, но меня больше всего интересует Windows.

downloadhttpftp

Ответы

Ответ 1 · рейтинг 3 · Vegard Larsen

Это может быть подходящим использованием для BitTorrent. Он работает с помощью отдельной программы (в большинстве браузеров) и будет работать даже после закрытия браузера. Не идеальное сочетание, но отвечает большинству ваших требований.

Ответ 2 · рейтинг 2 · GvS

Может быть, вам подойдет BITS?

Фоновая интеллектуальная служба передачи Назначение

Фоновая интеллектуальная служба передачи (BITS) передает файлы (загружает или выгружает) между клиентом и сервером и предоставляет информацию о ходе передачи, связанную с передачей. Вы также можете загружать файлы с пира.

Где применимо

Используйте BITS для приложений, которым необходимо:

Асинхронно передавать файлы на переднем плане или в фоновом режиме. Сохраняйте скорость отклика других сетевых приложений. Автоматически возобновлять передачу файлов после отключения сети и перезагрузки компьютера. Аудитория разработчиков

BITS предназначен для разработчиков C и C++.

только Windows

Ответ 3 · Alexandre

Попробуйте freeDownloadManager. Он интегрируется с IE и Firefox.

Ответ 4 · Mikael Söderström

Взгляните на это: http://msdn.microsoft.com/en-us/library/aa753618(VS.85).aspx

Но это только для IE.

Другой способ - написать BandObject для IE, который подключается ко всем ссылкам и запускает ваше приложение. http://www.codeproject.com/KB/shell/dotnetbandobjects.aspx

Ответ 5 · dbr

В зависимости от того, насколько велики файлы, почти все веб-браузеры имеют встроенные менеджеры загрузки. Просто поместите ссылку на файл, и браузер вступит в силу, когда пользователь щелкнет.. Вы можете просто порекомендовать людям установить менеджер загрузки перед загрузкой файла, ссылка на рекомендуемый бесплатный клиент для Windows/Linux/OS X.

В зависимости от того, насколько велики файлы, Bittorrent может быть вариантом. Вы бы предложили файл .torrent, когда люди открывают их в отдельном клиенте загрузки, который отделен от браузера.

Есть недостатки, в основном в зависимости от вашей целевой аудитории:

  • Bittorrent редко разрешен в корпоративных или школьных сетях.
  • его может быть сложно использовать (поскольку это новая концепция для многих людей).. например, если у кого-то не установлен торрент-клиент, он получает крошечный файл, который не может открыть, что может сбивать с толку
  • проблемы с NAT/переадресацией портов/брандмауэрами довольно распространены
  • Вы должны использовать запустить торрент-трекер и раздать файл

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы