2011-08-05 4 views
0

Vous vous demandez simplement s'il est possible d'ouvrir un fichier PDF en utilisant une méthode Web appelée AJAX? Le fichier à ouvrir est stocké dans un répertoire temporaire sur le serveur.ASP.Net - Ouvrir un PDF en utilisant une méthode Web

Est-ce que quelqu'un a des suggestions comment cela peut-il être réalisé?

Merci à tous!

+0

Si les fichiers sont énormes et que vous avez besoin d'afficher en quelque sorte la progression de _download_, alors vous devriez vous référer à: http://stackoverflow.com/questions/676348/allow-user-to-download-file-using- ajax –

+2

Une raison pour laquelle un lien simple ne fera pas? – Oded

+0

Etes-vous en train d'essayer de lire un pdf sur le serveur? –

Répondre

0

Oded vous a donné les meilleures solutions, mais, si vous voulez toujours le faire de cette façon, ici il va:

Vous pouvez utiliser cette jquery plugin.

Votre page Web aurait un lien hypertexte:

<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(); 
    } 
} 

Vous pouvez trouver un échantillon (OpenPDFjQuery) here.

Questions connexes