2009-04-08 5 views
0

J'ai une application MVC asp.net qui appelle un autre service pour générer un pdf. Je veux que l'utilisateur puisse cliquer sur un lien dans ma vue et obtenir une boîte de dialogue «enregistrer sous ...» du navigateur pour enregistrer le pdf.Passer un flux d'octets du modèle à la vue afin qu'il puisse être sauvegardé par l'utilisateur

L'appel au service tiers est effectué dans un modèle utilisant WebClient. Comment obtenir les données de l'appel WebClient jusqu'à Afficher et sortir dans le navigateur afin qu'il puisse être enregistré?

Répondre

3

Essayez ceci

Response.AddHeader("content-disposition", fileName);  
Response.ContentType = "application/pdf"; 
Response.BinaryWrite(byteArray); 

Et bien sûr, le bytearray vient du WebRequest que vous devez faire pour obtenir le fichier

3

Encore mieux, utilisez un de nos aides de fichiers.

public ActionResult ShowPdf() { 
    byte[] byteArray = GetBytes(); 
    return File(byteArray, "application/pdf"); 
} 
Questions connexes