2009-11-22 8 views
0

Si je mets le code suivant:images/documents Word à l'aide ASP.NET

Response.ContentType = "image/jpeg" 
    Response.AppendHeader("Content-Disposition", "attachment; filename=capitol.jpg") 
    Response.WriteFile(MapPath("capitol.jpg")) 

dans Page_Load, je vais obtenir la boîte de dialogue pour télécharger l'image. Mais quand je mets le même code dans une routine sous:

Private Sub downloadPic() 
    MsgBox("Hello!") 
    Response.ContentType = "image/jpeg" 
    Response.AppendHeader("Content-Disposition", "attachment; filename=capitol.jpg") 
    Response.WriteFile(Server.MapPath("capitol.jpg")) 
    Response.End() 
End Sub 

je reçois le MsgBox (juste pour le test), mais je ne reçois pas la possibilité de télécharger l'image. Des idées?

Répondre

1

Vous ne pouvez pas imprimer sur la page et également pousser le contenu du téléchargement dans une seule demande/réponse.

De toute façon votre code ne fonctionnera pas correctement avec un Response.Clear() avant d'assigner l'en-tête et WriteFile.

+0

Merci pour votre réponse. Lorsque je commente le code Page_Load et essayez uniquement le code dans la sous-routine downloadPic(), il ne télécharge pas. Connaissez-vous de bons liens pour m'aider avec ça? – Miamian

0

Merci pour le commentaire. Le problème avec mon code était que j'avais le code WriteFile dans un UpdatePanel. C'était mon erreur!