【问题标题】:ASP.Net - Open a PDF using a web methodASP.Net - 使用 Web 方法打开 PDF
【发布时间】:2011-08-05 07:59:39
【问题描述】:

只是想知道是否可以使用称为使用 AJAX 的 Web 方法打开 PDF?要打开的文件存储在服务器上的临时目录中。

有人对如何实现这一点有任何建议吗?

谢谢大家!

【问题讨论】:

  • 如果文件很大,你需要以某种方式显示下载的进度,那么你应该参考这里:stackoverflow.com/questions/676348/…
  • 为什么一个简单的链接不起作用?
  • 您是否尝试在服务器端阅读 pdf?

标签: c# asp.net ajax webmethod


【解决方案1】:

Oded 为您提供了最好的解决方案,但是,如果您仍然想这样做,那就去吧:

你可以使用这个 jquery plugin

你的网页会有一个超链接:

<a id="PrintAjaxReport" href="javascript:{}">Print report Ajax</a>

jQuery:

$(document).ready(function() {
    $("#PrintAjaxRepor").click(function() {
         $.download('PdfReport.aspx', "filename=mySpreadsheet", "POST");
     });
});

PdfReport.aspx

public partial class PdfReport : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        var pdfDocumentName = Request.Params["filename"].ToString() + ".pdf";
        var myReport = "Razor Syntax Quick Reference.pdf";

        var FileName = Path.Combine(Path.Combine(Server.MapPath("~"), "Temp"), myReport);

        Response.Clear();
        Response.ClearHeaders();
        Response.ClearContent();

        Response.ContentType = "application/pdf";
        Response.AddHeader("Content-Type", "application/pdf");
        Response.AddHeader("content-disposition", "attachment; filename=" + pdfDocumentName);
        Response.TransmitFile(FileName);
        Response.End();
    }
}

您可以找到一个示例 (OpenPDFjQuery) here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-28
    • 2011-04-20
    • 1970-01-01
    相关资源
    最近更新 更多