【问题标题】:Downloading files using ASP.NET .ashx modules使用 ASP.NET .ashx 模块下载文件
【发布时间】:2011-01-20 00:39:03
【问题描述】:

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

【问题讨论】:

  • 注意。如果安装了 Adob​​e 插件,需要显示生成的 .pdf 文件...

标签: c# asp.net pdf download ashx


【解决方案1】:
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();

【讨论】:

    【解决方案2】:

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

    Response.ContentType = "application/pdf"; 
    Response.AppendHeader("content-disposition", "inline; filename=" + name ); 
    

    【讨论】:

    • 迈克,太棒了。感谢 GlobalLogic 的哈尔科夫。 Мир тесен ;)
    • :),但据我所知这行不通... А кто ты конкртейней?
    • 我会用这个解决方案玩一点,但似乎它不起作用... "тісніше немає вже куди :D"
    【解决方案3】:

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

    context.Response.AddHeader("content-disposition", "attachment;filename=PUTYOURFILENAMEHERE.pdf");
    context.Response.ContentType = "application/pdf";
    

    【讨论】:

    • 在这种情况下浏览器建议在安装Adobe插件时下载文件...
    猜你喜欢
    • 1970-01-01
    • 2011-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-18
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    相关资源
    最近更新 更多