Загрузка не работает для 1 ГБ файла, пробовал WebClient и другие методы - PullRequest
0 голосов
/ 01 июля 2019

У меня проблемы с загрузкой файлов размером 1 ГБ. Меньшие файлы работают нормально.

Я пробовал несколько вариантов.

Мой файл - это zip-папка, которая содержит некоторые PDF-файлы.

Я пробовал некоторые варианты, такие как использование пространства имен WebClient

Это мой код, который работает только с небольшими файлами.

byte[] fileBytes = System.IO.File.ReadAllBytes(sPath);
string fileName = System.IO.Path.GetFileName(sPath);
return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName);

моя переменная fileBytes остается такой = байтовый [1099288209], и я получаю " переполнение или недостаточное значение в арифметической операции. "

Но когда мой файл имеет размер 1 ГБ или больше, он не работает.

Если использовать пространство имен WebClient, у меня появляется следующая ошибка:

wClient.DownloadFile("https://site/folder/", sPath);

Попытка подключения не удалась, потому что подключенная сторона не должным образом отреагировать через определенное время или установившееся соединение не удалось, потому что подключенный хост не смог ответить 10.127.1.180:8080

1 Ответ

0 голосов
/ 02 июля 2019

меняю следующий код

byte [] fileBytes = System.IO.File.ReadAllBytes (sPath); строка fileName = System.IO.Path.GetFileName (sPath); возвращаемый файл (fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName);

до

возвращаемый файл (sPath, System.Net.Mime.MediaTypeNames.Application.Zip, fileName);

Где sPath - это строка с каталогом и файлом, например.

...