powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
25 сообщений из 26, страница 1 из 2
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717386
abort
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Web Api возвращает файл
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
MemoryStream stream = new MemoryStream();
            wb.SaveAs(stream);
            stream.Position = 0;

            HttpResponseMessage httpResponseMessage = Request.CreateResponse(HttpStatusCode.OK);
            httpResponseMessage.Content = new StreamContent(stream);
            httpResponseMessage.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
            httpResponseMessage.Content.Headers.ContentDisposition.FileName = id + "___test.xlsx";
            httpResponseMessage.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");


Но нужно еще отобразить текст в браузере кое какую информацию.
Но совместить оба вывода не получается
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717387
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
abortWeb Api возвращает файл
Куда, кому, чему?
Кто или что должно отобразить отобразить текст в браузере, кое какую информацию?
Какую именно информацию?
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717409
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
abort,
Инфу заранее возле кнопки скачать размещай.
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717418
abort
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух,

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
public class testController : ApiController
...

[HttpGet]
[Route("test/excel/{id}")]
public HttpResponseMessage get_excel(string id)
.....
MemoryStream stream = new MemoryStream();
            wb.SaveAs(stream);
            stream.Position = 0;

            HttpResponseMessage httpResponseMessage = Request.CreateResponse(HttpStatusCode.OK);
            httpResponseMessage.Content = new StreamContent(stream);
            httpResponseMessage.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
            httpResponseMessage.Content.Headers.ContentDisposition.FileName = id + "_____rba_report.xlsx";
            httpResponseMessage.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");



Пользователь вводит URL с кодом клиента и ему возвращается только excel файл, нужно чтобы в браузере выходил id клиента
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717421
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
abortПользователь вводит URL с кодом клиента и ему возвращается только excel файл, нужно чтобы в браузере выходил id клиента
Куда вводит? В поле на странице, в адресную строку браузера?
Куда в браузере должен выходить id клиента: в адресной строке, на странице?
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717427
abort
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

вводит в строку браузера

/bla/bla/bla/12345
и ему выгружается excel - это работает, но еще в этом же окне нужно вывести инфо например id client: 12345
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717436
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
abortПользователь вводит URLне плачет?
Дай ему кнопку).
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717438
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
abortskyANA,

вводит в строку браузера

/bla/bla/bla/12345
и ему выгружается excel - это работает, но еще в этом же окне нужно вывести инфо например id client: 12345
То есть внизу он должен видеть прогресс загрузки файла, а на странице некую информацию об этом файле?
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717440
abort
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

вызов web api происходит в sharepointe с динамической подстановкой данных и открытием новой страницы
на которой через response контент нужно вытащить и файл и текст
Возможно ли такое?
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717441
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Типа как много где: "Загрузка начнётся через 5 секунд, а если нет, то пройдите по прямой ссылке".
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717449
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
abortPetro123,

вызов web api происходит в sharepointe с динамической подстановкой данных и открытием новой страницы
на которой через response контент нужно вытащить и файл и текст
Возможно ли такое?
Возможно, JavaScript-ом.
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717450
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
abortsharepointeAFAIK там есть инструменты сделать кнопку скачать с доп. Инфой о файле.
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717452
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
abort,

а можно просто ссылку на странице не разместить, при клике на которую на сервере будет редирект на /bla/bla/bla/12345 и начнётся загрузка.

Без всякой "динамической подстановкой данных и открытием новой страницы".
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717456
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAа можно просто ссылку на странице не разместить, при клике на которую на сервере будет редирект на /bla/bla/bla/12345 и начнётся загрузка
А можно это сделать JavaScript-ом...
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717467
abort
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

для чего нужна новая страница? Чтобы вывести доп инфо. Например если клиента нет, или что то просрочено.
Проблема именно вывести на этой же странице и потоком файл и текстовую инфу
как жаваскриптом ума не приложу? Как его в контент несуществующей страницы запихать то?
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717468
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это будет два запроса к серверу - страница с инфой, а страница запросит уже сам файл
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717474
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProЭто будет два запроса к серверу - страница с инфой, а страница запросит уже сам файл+1
У нас аттач файл бинарный. Он идет отдельным запросом.
Автор, ты не скачивал ни разу файлы?
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717476
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
abortили что то просрочено.тогда вместо файла отправь редирект клиенту на свою страничку.
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717478
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
abortКак его в контент несуществующей страницы запихать то?
Вы прикалываетесь?

Ещё раз: куда конкретно Вы хотите, чтобы браузер запихал какую-то там текстовую инфу?
Если на страницу, то вестимо нужна страница.
Если куда-то в другое место, то объясните уже толком куда.
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717487
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
abortНапример если клиента нет, или что то просрочено.
Мда... Сразу нельзя было это написать? Постановку задачи полностью озвучить...

Если клиента нет, то Ваш Controller должен вернуть соответствующий HttpResponseMessage:
Код: c#
1.
2.
3.
4.
5.
6.
[HttpGet]
[Route("test/excel/{id}")]
public HttpResponseMessage get_excel(string id)
.....
        HttpResponseMessage httpResponseMessage = Request.CreateResponse(HttpStatusCode.NotFound);
        httpResponseMessage.Content = new StringContent("Клиента нет");


Если ссылка уже протухла, то тоже NotFound:
Код: c#
1.
2.
3.
4.
5.
6.
[HttpGet]
[Route("test/excel/{id}")]
public HttpResponseMessage get_excel(string id)
.....
        HttpResponseMessage httpResponseMessage = Request.CreateResponse(HttpStatusCode.NotFound);
        httpResponseMessage.Content = new StringContent("Поздно, что то просрочено");
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717492
abort
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

не знаю как уже объяснить? Есть страница браузера Хром. В нее пользователь напрямую в адресную строку вводит адрес и тут же без открытия другой страницы загружается файл, Можно ли в эту же страницу передать через HttpResponseMessage - > Content вывести на этой же странице например id клиента. Если я загоняю в потоком в content
Код: c#
1.
httpResponseMessage.Content = new StreamContent(stream);


то он возвращает только файл, и я не могу здесь же что то написать, хотя бы
Код: c#
1.
httpResponseMessage.Content = new StringContent("Your response text");


Как вариант открывать другую страницу в случае, если нужно вывести доп информацию?
Мне нужно совет гуру, стоит ли копать в этом направлении или это пустая трата времени и двигаться в сторону javascript
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717506
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
abortКак вариант открывать другую страницу в случае,после закачки открывают эту же страничку, повторный GET
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717510
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
abort,
По юзабилити странно давать инфу после, а не До закачки.
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717530
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
abortКак вариант открывать другую страницу в случае, если нужно вывести доп информацию?
Вы можете толком уже написать какую доп. информацию? Это большой секрет что-ли?

Если пользователь ввёл не идентификатор а белиберду, то возвращать ему 400 BadRequest, а не файл.
Если пользователь ввёл идентификатор, по которому ничего не найдено, то возвращать ему 404 NotFound, а не файл.
Если файла уже нет, то возвращать ему 404 NotFound, а не файл.
И вот только если всё нормально, то возвращать ему файл.

И не надо пытаться запихать всё в один Content.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
if (билиберда)
{
   return ...;
}

if (клиента нет)
{
   return ...;
}

if (файла нет)
{
   return ...;
}

// Всё нормуль
return файл
...
Рейтинг: 0 / 0
HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
    #39717539
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
abortне знаю как уже объяснить? Есть страница браузера Хром. В нее пользователь напрямую в адресную строку вводит адрес и тут же без открытия другой страницы загружается файл, Можно ли в эту же страницу передать через HttpResponseMessage - > Content вывести на этой же странице например id клиента. Если я загоняю в потоком в content

На один запрос можно вернуть один ответ.
Это либо файл, либо страница, либо данные.

Вы чего хотите? Волшебное заклинание, чтобы браузеры и сервера стали вести себя иначе?


abortКак вариант открывать другую страницу в случае, если нужно вывести доп информацию?
Мне нужно совет гуру, стоит ли копать в этом направлении или это пустая трата времени и двигаться в сторону javascript

Открывайте страницу, на странице JS, который вернёт файл.
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / HttpResponseMessage-> Content вернуть файл и отобразить текст в браузере
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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