Загрузка файлов с помощью ASP.NET .ashx модули

У меня есть страница ASP.NET с iframe на нем для отображения некоторых отчетов PDF на этой странице. Когда пользователь выбирает тип отчета из выпадающего, я добавляю необходимое для данных отчета в Сессию ASP.NET и изменяю атрибут "src" iframe к .ashx адресу модуля, который генерирует отчет pdf. Но если Adobe буль - в для просмотра файлов pdf в браузере не установлен, браузер предлагает сохранить файл отчета, и название предложенного файла является "HandlerName.ashx". Но я хочу сделать браузер предложенным, чтобы сохранить файл с именем "Report.pdf". Я могу сделать это? Есть ли какие-либо обходные решения?

5
задан w1z 23 February 2010 в 11:10
поделиться

3 ответа

Попробуйте inline-content-disposition, однако я должен проверить это:

Response.ContentType = "application/pdf"; 
Response.AppendHeader("content-disposition", "inline; filename=" + name ); 
4
ответ дан 18 December 2019 в 13:13
поделиться
Use     


 Response.Clear();
 Response.ContentType = "application/octet-stream";
 Response.AddHeader("Content-Disposition", "attachment; filename=Report.PDF");                                            
 Response.WriteFile(Server.MapPath("~/YourPath/Report.PDF"));
 Response.End();
3
ответ дан 18 December 2019 в 13:13
поделиться

Добавьте следующий заголовок в ваш ashx-файл:

context.Response.AddHeader("content-disposition", "attachment;filename=PUTYOURFILENAMEHERE.pdf");
context.Response.ContentType = "application/pdf";
7
ответ дан 18 December 2019 в 13:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: