Загрузка 2 ГБ файлов в C # - PullRequest
       26

Загрузка 2 ГБ файлов в C #

3 голосов
/ 12 октября 2009

Существует требование, когда клиенту требуется опция загрузки действительно больших файлов (<= 2 ГБ) через браузер. </p>

И я обнаружил, что браузер может поддерживать загрузку только 2 ГБ файлов. Это так?

Если да, то есть хотя бы 1,9999GB?

Пробовал работать с такими параметрами, как maxRequestLength, executeTimeout, который ничего не дал.

Ответы [ 3 ]

5 голосов
/ 12 октября 2009

Альтернативой использованию клиентского элемента управления с использованием Flash или Silverlight является использование модуля загрузки ASP.NET Даррена Джонсона . Я бы порекомендовал вам взглянуть на это.

Это модуль IIS HTTP, который позволяет загружать файлы небольшими порциями, уменьшая использование памяти. Существует некоторый клиентский JavaScript, который покажет пользователю процесс загрузки.

Я успешно использую это с MOSS 2007 и проверил его с файлами до 2 ГБ - он прекрасно работает!

2 голосов
/ 12 октября 2009

Вы должны установить его в machine.config смотри это: http://support.microsoft.com/?scid=kb;en-us;295626&x=12&y=6

0 голосов
/ 12 октября 2009

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

Проблема с «нормальной» загрузкой файлов заключается в том, что это одноразовая операция без механизма повтора. Также веб-серверы и прокси не оптимизированы для длинных запросов. По мере удаления клиента от веб-сервера хоста он, как правило, маршрутизируется через системы (прокси-серверы и т. П.), Которые не находятся под вашим контролем. По моему опыту, они разрушают большие файлы.

...