Загрузка больших файлов в .NET.

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

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

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

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

[изменить]

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

Ответ 1

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

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

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

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

Ответ 2

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

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

Ответ 3

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

Ответ 4

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

Ответ 5

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