2010-07-15 7 views
2

J'ai un fichier, disons un PDF sur mon site web et quand un utilisateur visite une page je veux afficher une boîte de dialogue de téléchargement pour le pdf au chargement de la page ou un clic de bouton.Comment envoyer un fichier à un client pour ouvrir une boîte de dialogue de téléchargement?

J'ai fait une recherche google et j'ai trouvé deux façons de le faire, mais je me demandais quelle est la façon acceptée de le faire? Je suis actuellement ce

string pdfPath = MapPath("mypdf.pdf"); 
Response.ContentType = "Application/pdf"; 


Response.AppendHeader("content-disposition", 
     "attachment; filename=" + name); 
Response.WriteFile(pdfPath); 
Response.End(); 

(code était basé hors du code de http://aspalliance.com/259, a trouvé également le code de http://www.west-wind.com/weblog/posts/76293.aspx)

Répondre

5

Votre code, affiche parfaitement le fichier à l'utilisateur. Mais ils devront utiliser l'option "Enregistrer sous" pour l'enregistrer.

Si vous souhaitez présenter le « dialogue Enregistrer » à l'utilisateur, procédez comme suit:

string pdfPath = MapPath("mypdf.pdf"); 
Response.ContentType = "Application/pdf"; 
Response.AppendHeader("content-disposition", 
     "attachment; filename=" + pdfPath); 
Response.TransmitFile(pdfPath); 
Response.End(); 

Ceci suppose bien entendu le fichier existe sur le serveur et n'est pas généré dynamiquement.

0

Ce code enverrez Tout fichier directement sur le navigateur client

Response.ContentType = "application/pdf"; 
    Response.WriteFile(PathToFile); 
    Response.Flush();