Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用ASP.NET.ashx模块下载文件_C#_Asp.net_Pdf_Download_Ashx - Fatal编程技术网

C# 使用ASP.NET.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文件中添

我有一个ASP.NET页面,上面有一个iframe,用于在此页面上显示一些pdf报告。 当用户从下拉列表中选择报表类型时,我将所需的报表数据添加到ASP.NET会话中,并将iframe的属性“src”更改为生成.pdf报表的.ashx模块地址。 但若并没有安装AdobeGlug在浏览器中查看.pdf文件,浏览器会建议保存报告文件,并且建议的文件名为“HandlerName.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();