2011-08-05 41 views
0

想知道是否可以使用使用AJAX調用的Web方法打開PDF?要打開的文件存儲在服務器上的臨時目錄中。ASP.Net - 使用Web方法打開PDF

有沒有人有任何建議這可以實現?

謝謝大家!

+0

如果文件很大,你需要以某種方式顯示_download_的進度,那麼你應該參考這裏:http://stackoverflow.com/questions/676348/allow-user-to-download-file-using- ajax –

+2

任何原因爲什麼一個簡單的鏈接不會做? – Oded

+0

你想讀取服務器端的pdf嗎? –

回答

0

俄德給你最佳的解決方案,但是,如果你仍然想這樣做的,這裏有雲:

你可以使用這個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