C# 使用ASP.NET.ashx模块下载文件
我有一个ASP.NET页面,上面有一个iframe,用于在此页面上显示一些pdf报告。 当用户从下拉列表中选择报表类型时,我将所需的报表数据添加到ASP.NET会话中,并将iframe的属性“src”更改为生成.pdf报表的.ashx模块地址。 但若并没有安装AdobeGlug在浏览器中查看.pdf文件,浏览器会建议保存报告文件,并且建议的文件名为“HandlerName.ashx”。C# 使用ASP.NET.ashx模块下载文件,c#,asp.net,pdf,download,ashx,C#,Asp.net,Pdf,Download,Ashx,我有一个ASP.NET页面,上面有一个iframe,用于在此页面上显示一些pdf报告。 当用户从下拉列表中选择报表类型时,我将所需的报表数据添加到ASP.NET会话中,并将iframe的属性“src”更改为生成.pdf报表的.ashx模块地址。 但若并没有安装AdobeGlug在浏览器中查看.pdf文件,浏览器会建议保存报告文件,并且建议的文件名为“HandlerName.ashx”。 但我想让浏览器建议保存名为“Report.pdf”的文件。我能做这个吗?是否有任何解决方法?在ashx文件中添
但我想让浏览器建议保存名为“Report.pdf”的文件。我能做这个吗?是否有任何解决方法?在ashx文件中添加以下标题:
context.Response.AddHeader("content-disposition", "attachment;filename=PUTYOURFILENAMEHERE.pdf");
context.Response.ContentType = "application/pdf";
尝试内联内容处置,但我必须检查以下内容:
Response.ContentType = "application/pdf";
Response.AppendHeader("content-disposition", "inline; filename=" + name );
在这种情况下,浏览器建议在安装Adobe插件时下载文件…注意。它需要显示生成的.pdf文件,以防安装了Adobe插件……迈克,太棒了。感谢您来自哈尔科夫,GlobalLogic。Мир тесен ;):), 但据我所知,这是行不通的。。。Аццццццццццццццццц?我会对这个。。。“D”
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();