2016-03-21 3 views
4

Я пытаюсь загрузить файл размером более 10 ГБ +, и есть несколько файлов, которые я хочу загрузить на сервере.Как загрузить файл с размером 10 ГБ + в ASP.NET C#

Я внесла некоторые изменения в Web.config, чтобы загрузить большие файлы.

<system.web> 
    <compilation debug="true" targetFramework="4.5" /> 
    <httpRuntime executionTimeout="6000000" maxRequestLength="2147483647"/> 
    </system.web> 

    <system.webServer> 
    <security> 
     <requestFiltering> 
     <requestLimits maxAllowedContentLength="2147483647" /> 
     </requestFiltering> 
    </security> 
    </system.webServer> 

Но он поддерживает только размер файла до 2 ГБ. Я делаю слишком много исследований, но я не могу получить ничего, что поможет мне загрузить размер файла 10 ГБ +.

Я читал какую-то статью, что сказал, что максимальный предел размера файла 2GB

Maximum value of maxRequestLength?

IIS 7 httpruntime maxRequestLength limit of 2097151

https://blogs.msdn.microsoft.com/prashant_upadhyay/2011/07/12/large-file-upload-issue-in-asp-net/

Я нашел некоторые хаки, которые я Нарезать файл на стороне клиента (браузер) и загрузить все фрагменты на сервере, после чего я объединю весь этот фрагмент с одним файлом.

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

Я не хочу использовать файл Slice and Upload and Merge, чтобы загрузить файл.

Существует еще один способ сделать файлы с увеличенной загрузкой (размер 10 ГБ +) с помощью ASP.NET и C#.

Спасибо.

+0

FTP является хорошей идеей, но я должен предоставить интерфейс к клиенту на веб-сайте для загрузки файлов, а этот файл - не простой файл. Мне нужно извлечь содержимое файла и выполнить дополнительную задачу в зависимости от содержимого файла. Спасибо @Pikoh –

ответ

-1

использовать только этот

<system.web> 
<compilation debug="true" targetFramework="4.5" /> 
<httpRuntime executionTimeout="6000000" maxRequestLength="10485760"/> 
</system.web> 

удалить ниже код из web.config

<security> 
    <requestFiltering> 
    <requestLimits maxAllowedContentLength="2147483647" /> 
    </requestFiltering> 
</security> 

и 10gb = 10485760 кб

+0

Это не сработает, потому что 'maxRequestLength' только за исключением байтов и его типа' int32', поэтому он не может загрузить файл 10 ГБ. Если я установил, как вы сказали, он загрузит только файл '10MB' –

+0

. Вы можете прочитать ссылку, о которой я рассказывал выше. –

+0

Я никогда не удалю код блока, который вы сказали. Потому что я использую 'Server: Microsoft-IIS/8.0' и после' Server: Microsoft-IIS/7.0 + 'этот код блока необходим. –

Смежные вопросы