powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Обработка xlsx присылаемая api
4 сообщений из 4, страница 1 из 1
Обработка xlsx присылаемая api
    #40130533
strman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Не являюсь .net разработчиком даже близко, но появилась необходимость дописать код в проект. Прощу вашей помощи

Есть Api которое создает, заполняет и возвращает xlsx файл.


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
workbook.SaveAs(stream);
stream.Seek(0, SeekOrigin.Begin);

return this.File(
                    fileContents: stream.ToArray(),
                    contentType: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
                    fileDownloadName: "FileName.xlsx"
                );




На клиенте попытался сделать по аналогии запрос к API используя статью https://docs.microsoft.com/en-us/dotnet/api/system.net.webrequest?view=netframework-4.7.2

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
// Get the response.
WebResponse response = request.GetResponse();
// Display the status.
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
// Get the stream containing content returned by the server.
dataStream = response.GetResponseStream();
// Open the stream using a StreamReader for easy access.
StreamReader reader = new StreamReader(dataStream);
// Read the content.
string responseFromServer = reader.ReadToEnd();




Насколько понимаю в responseFromServer содержатся внутренности xlsx. При дебаге вижу, что совпадает с результатом из postman

Как корректно выгрузить xlsx данные на клиенте?

Пробовал

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
var memoryStream = new MemoryStream();

dataStream.CopyTo(memoryStream);

return this.File(
                    fileContents: memoryStream.ToArray(),
                    contentType: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
                    fileDownloadName: "FileName.xlsx"
                );


Выгружается файл с 0 размером. =/ Подскажите, что не так?
Модератор: Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
Обработка xlsx присылаемая api
    #40130545
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам принципиально использовать предыдущий NetFramework?
...
Рейтинг: 0 / 0
Обработка xlsx присылаемая api
    #40130672
strman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема найдена. Когда происходит

Код: c#
1.
StreamReader reader = new StreamReader(dataStream); 



из DataStream пропадают данные и смысла в копировании нет

Код: c#
1.
dataStream.CopyTo(memoryStream);  
...
Рейтинг: 0 / 0
Обработка xlsx присылаемая api
    #40130692
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
strman
Проблема найдена. Когда происходит

Код: c#
1.
StreamReader reader = new StreamReader(dataStream); 



из DataStream пропадают данные и смысла в копировании нет

Код: c#
1.
dataStream.CopyTo(memoryStream);  


я конечно не ванга, но они скорее всего не пропадают, а просто "прочитались"
и если ты попытаешься прочитать еще раз, то обнаружишь пустоту. скорее всего надо просто вернуться в начало потока, если он поддерживает Seek
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Обработка xlsx присылаемая api
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (8): Анонимы (5), Bing Bot, Yandex Bot, Cat2 2 мин.
x
x
Закрыть


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