ASP.Net — откройте PDF-файл с помощью веб-метода

Просто интересно, можно ли открыть PDF-файл с помощью веб-метода, называемого с использованием AJAX? Открываемый файл хранится во временном каталоге на сервере.

Есть ли у кого-нибудь предложения, как этого можно достичь?

Спасибо всем!


person Funky    schedule 05.08.2011    source источник
comment
Если файлы большие и вам нужно как-то показать ход загрузки, то вам следует обратиться сюда: stackoverflow.com/questions/676348/   -  person Alex R.    schedule 05.08.2011
comment
Любая причина, по которой простая ссылка не подойдет?   -  person Oded    schedule 05.08.2011
comment
Вы пытаетесь прочитать pdf на стороне сервера?   -  person Mr. Zen    schedule 05.08.2011


Ответы (1)


Oded дал вам лучшие решения, но если вы все еще хотите сделать это таким образом, вот оно:

Вы можете использовать этот jquery плагин.

Ваша веб-страница будет иметь гиперссылку:

<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) здесь.

person LeftyX    schedule 05.08.2011