У меня есть страница ASP.NET с iframe для отображения некоторых отчетов в формате PDF на этой странице. Когда пользователь выбирает тип отчета из раскрывающегося списка, я добавляю необходимые для отчета данные в сеанс ASP.NET и изменяю атрибут «src» iframe на адрес модуля .ashx, который генерирует отчет .pdf. Но если плагин Adobe для просмотра .pdf файлов в браузере не установлен, браузер предлагает сохранить файл отчета и имя предлагаемого файла "HandlerName.ashx". Но я хочу, чтобы браузер предлагал сохранить файл с именем "Report.pdf". Я могу это сделать? Есть ли обходные пути?
Загрузка файлов с использованием модулей ASP.NET .ashx
comment
Внимание. Необходимо отображать сгенерированный файл .pdf, если установлен плагин Adobe...
- person w1z   schedule 23.02.2010
Ответы (2)
Попробуйте встроенное содержание-диспозицию, однако я должен проверить это:
Response.ContentType = "application/pdf";
Response.AppendHeader("content-disposition", "inline; filename=" + name );
person
Mike Chaliy
schedule
23.02.2010
Майк, это здорово. Спасибо из Харькова, GlobalLogic. Мир тесен ;)
- person w1z; 23.02.2010
:), но насколько я знаю, это не сработает... А кто ты конкртейней?
- person Mike Chaliy; 23.02.2010
Я бы немного поиграл с этим решением, но кажется, что оно не работает... тісніше немає вже куди :D
- person Yaroslav Havrylovych; 03.05.2017
Добавьте следующий заголовок в ваш ashx-файл:
context.Response.AddHeader("content-disposition", "attachment;filename=PUTYOURFILENAMEHERE.pdf");
context.Response.ContentType = "application/pdf";
person
Pbirkoff
schedule
23.02.2010
В этом случае браузер предлагает загрузить файл при установленном плагине Adobe...
- person w1z; 23.02.2010