powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Получение больших zip-фалов на сервере по http и OutOfMemoryException
8 сообщений из 8, страница 1 из 1
Получение больших zip-фалов на сервере по http и OutOfMemoryException
    #38833430
AspUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Вопрос как получить файл zip из двоичных данных которые отдает http-сервис ? Первая проблема что вызывается исключение типа "System.OutOfMemoryException", в данном случае ожидаемый файл зип всего 90 мб, но хотелось-бы и 500 мб. Забивая этот UrlData в адресную строку браузера файл скачиваеться правда без расширения zip , но содержимое все верное внутри. Даже если большие зип-файлы это тупик для сервера (пишу на asp.net 4.5 webForms) , то как маленький зип-файл из двоичных данных превратить в зип-файл и распаковать для работы с содержимым ?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
      protected void Button1_Click(object sender, EventArgs e)
        {

            string UrlData = WebConfigurationManager.AppSettings["httpServiceProduct"];
            System.Net.WebRequest request = System.Net.WebRequest.Create(UrlData);
            request.Timeout = request.Timeout * 9; //по умолчанию Timeout =  10000 мс = 100 сек
            request.Credentials = new System.Net.NetworkCredential(WebConfigurationManager.AppSettings["login"], WebConfigurationManager.AppSettings["password"]);
            System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
            System.IO.Stream dataStream = response.GetResponseStream();
            System.IO.StreamReader reader = new System.IO.StreamReader(dataStream);
            string responseFromServer = reader.ReadToEnd(); //Выдано исключение типа "System.OutOfMemoryException".

            //Как тут получить ZipFile и распаковать его ? для дальнейшей обработки содержимого 

            reader.Close();
            dataStream.Close();
            response.Close();

        }
...
Рейтинг: 0 / 0
Получение больших zip-фалов на сервере по http и OutOfMemoryException
    #38833431
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AspUser, не читайте их в память, а сохраняйте на диск. Когда Вы для себя что-то в интернете скачиваете, Вы же на диск сначала сохраняете, а потом уже распаковываете.
...
Рейтинг: 0 / 0
Получение больших zip-фалов на сервере по http и OutOfMemoryException
    #38833435
AspUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANAсохраняйте на диск если не трудно подскажите как это сделать в данном контексте ? пускай не точно, хотя-бы где вклинится и какие классы использовать ?
...
Рейтинг: 0 / 0
Получение больших zip-фалов на сервере по http и OutOfMemoryException
    #38833436
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AspUserskyANAсохраняйте на диск если не трудно подскажите как это сделать в данном контексте ? пускай не точно, хотя-бы где вклинится и какие классы использовать ?FileStream
...
Рейтинг: 0 / 0
Получение больших zip-фалов на сервере по http и OutOfMemoryException
    #38833445
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Получение больших zip-фалов на сервере по http и OutOfMemoryException
    #38833449
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AspUserskyANAсохраняйте на диск если не трудно подскажите как это сделать в данном контексте ? пускай не точно, хотя-бы где вклинится и какие классы использовать ?Ну для начала можно было документацию почитать: HttpWebResponse.GetResponseStream - метод .

И переделать под себя:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
System.IO.Stream dataStream = response.GetResponseStream();

int count = 256;

var buffer = new byte[count];
var fileName = "lalala.zip";
var file = new FileStream(fileName, FileMode.Create);

while((count = dataStream.Read(buffer, 0, buffer.Length)) > 0)
{
    file.Write(buffer, 0, count);
}

file.Close();
...
Рейтинг: 0 / 0
Получение больших zip-фалов на сервере по http и OutOfMemoryException
    #38833452
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К click me "Вопрос как получить файл zip из двоичных данных которые отдает http-сервис".

У него не клиент загружает файлы на сервер, а сервер запрашивает файлы у стороннего сервиса.
...
Рейтинг: 0 / 0
Получение больших zip-фалов на сервере по http и OutOfMemoryException
    #38833457
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну ладно. :-)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Получение больших zip-фалов на сервере по http и OutOfMemoryException
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]