У меня есть страница ASP.NET с iframe на нем для отображения некоторых отчетов PDF на этой странице. Когда пользователь выбирает тип отчета из выпадающего, я добавляю необходимое для данных отчета в Сессию ASP.NET и изменяю атрибут "src" iframe к .ashx адресу модуля, который генерирует отчет pdf. Но если Adobe буль - в для просмотра файлов pdf в браузере не установлен, браузер предлагает сохранить файл отчета, и название предложенного файла является "HandlerName.ashx". Но я хочу сделать браузер предложенным, чтобы сохранить файл с именем "Report.pdf". Я могу сделать это? Есть ли какие-либо обходные решения?
Попробуйте inline-content-disposition, однако я должен проверить это:
Response.ContentType = "application/pdf";
Response.AppendHeader("content-disposition", "inline; filename=" + name );
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();
Добавьте следующий заголовок в ваш ashx-файл:
context.Response.AddHeader("content-disposition", "attachment;filename=PUTYOURFILENAMEHERE.pdf");
context.Response.ContentType = "application/pdf";