Загрузить большие файлы в .NET - PullRequest
11 голосов
/ 12 ноября 2008

Я провел много исследований, чтобы найти компонент загрузки для .NET, который я могу использовать для загрузки больших файлов, имеет индикатор выполнения и может возобновить загрузку больших файлов. Я встречал некоторые компоненты, такие как AjaxUploader , SlickUpload и PowUpload . Каждый из этих вариантов стоит денег, и только PowUpload выполняет возобновляемую загрузку, но делает это с помощью Java-апплета. Я готов заплатить за компонент, который хорошо выполняет эти функции, но если бы я мог написать его сам, это было бы лучше.

У меня два вопроса:

  1. Можно ли возобновить загрузку файлов на клиенте без использования flash / java / Silverlight?
  2. У кого-нибудь есть какой-нибудь код или ссылка на статью, объясняющую, как написать .NET HTTPHandler, который позволит потоковую загрузку и ajax-индикатор выполнения?

Спасибо,
Остин

[Изменить]

Я понял, что мне нужно иметь возможность возобновлять загрузку файлов для моего проекта, какие-либо предложения для компонентов, которые могут это сделать?

Ответы [ 5 ]

6 голосов
/ 12 ноября 2008

1) Можно ли возобновить загрузку файлов на клиенте без использования flash / java / Silverlight?

Нет. Сам протокол HTTP не поддерживает возобновление частичной загрузки, поэтому даже если вы использовали flash или silverlight, вам все равно придется использовать что-то еще, например FTP, на сервере.
Я «решил» эту проблему в прошлом, написав пользовательское клиентское приложение на C #, которое разбивало файл на небольшие куски (2 мг), передавало их по отдельности, а затем сервер объединял их все вместе.

2) У кого-нибудь есть какой-нибудь код или ссылка на статью, объясняющую, как написать .NET HTTPHandler, который позволит потоковую загрузку и индикатор выполнения ajax?

Хотя это не решает проблему «возобновления», я использовал SWFUpload на стороне клиента, и это сработало блестяще. Он предоставляет интеллектуальный файловый браузер (в котором вы можете запрашивать у пользователя только JPEG-файлы и т. Д.) И загружать отслеживание прогресса, и все это без необходимости изменять ваш сервер.

4 голосов
/ 12 ноября 2008

Невозможно возобновить загрузку с использованием стандартного элемента управления вводом файла HTML, поскольку весь файл отправляется с HTTP-запросом.

Я использовал NeatUpload в прошлом, что дает вам индикатор выполнения. Он находится под лицензией LGPL, поэтому вам не нужно за него платить, и он с открытым исходным кодом.

0 голосов
/ 18 июня 2010

Возможно, это слишком поздно для вашего проекта, но в POW Upload теперь реализована функция автоматического возобновления загрузки в новой версии. Мы собираемся реализовать это на нашем сайте.

0 голосов
/ 23 февраля 2009

SlickUpload довольно солидный, и многие крупные компании используют его из того, что сайт говорит.

0 голосов
/ 13 ноября 2008

Больше нечего добавить о проблеме с резюме. Я использовал (и продолжаю использовать) Telerik RadUpload, и я вполне доволен этим (его можно использовать даже в режиме среднего доверия, что было для меня очень важно). Единственная проблема, с которой я столкнулся (и которую не смог исправить) - загрузить файлы размером более 2 ГБ ...

...