5

我有一个带有 iframe 的 ASP.NET 页面,用于在此页面上显示一些 pdf 报告。当用户从下拉列表中选择报告类型时,我将所需的报告数据添加到 ASP.NET 会话中,并将 iframe 的属性“src”更改为生成 .pdf 报告的 .ashx 模块地址。但是如果没有安装用于在浏览器中查看 .pdf 文件的 Adob​​e 插件,浏览器会建议保存报告文件,建议文件的名称为“HandlerName.ashx”。但我想让浏览器建议保存名为“Report.pdf”的文件。我可以这样做吗?有什么解决方法吗?

4

3 回答 3

7

在 ashx 文件中添加以下标头:

context.Response.AddHeader("content-disposition", "attachment;filename=PUTYOURFILENAMEHERE.pdf");
context.Response.ContentType = "application/pdf";
于 2010-02-23T11:14:35.660 回答
4

尝试内联内容处置,但我必须检查这一点:

Response.ContentType = "application/pdf"; 
Response.AppendHeader("content-disposition", "inline; filename=" + name ); 
于 2010-02-23T11:28:58.990 回答
3
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();
于 2010-02-23T11:56:34.163 回答