Загрузка больших файлов в .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 теперь реализовал автоматическую загрузку в новой версии. Мы собираемся внедрить его на нашем сайте.