2011-04-14 5 views
1

J'ai un fichier ashx qui affiche une image. Je ne souhaite pas afficher l'image mais force le téléchargement.Ashx force télécharger l'image

Ceci est mon code:

context.Response.AppendHeader("content-disposition", "attachment; filename=" + userId + ".jpg"); 
context.Response.ContentType = "image/jpeg"; 
context.Response.OutputStream.Write(msMasterFinal.ToArray(), 0, msMasterFinal.ToArray().Length); 

Quand j'ouvrir mon navigateur avec cette ashx, l'image est automatiquement affichée . Comment forcer le téléchargement s'il vous plaît?

Un grand merci

+0

Est-ce que cet espace entre le point-virgule et le nom de fichier = dans votre en-tête de disposition fait une différence? – Jonas

Répondre

1

Hmm, vous codez à droite. Je l'ai utilisé cet extrait dans le passé pour obtenir ce que vous essayez de faire:

context.Response.AddHeader("Content-Disposition", String.Format("attachment; filename=""{0}""", FileName)); 
context.Response.AddHeader("Content-Type", FileType); 
context.Response.AddHeader("Content-Length", FileSize.ToString); 
context.Response.BinaryWrite(FileBytes); 

Il est presque similaire ...

+0

Merci Jackob, mais j'ai le même problème. – Bob

0

Votre navigateur affichera toujours les images dans la fenêtre si elles CONTENTTYPE peut se soustraire à " image/jpeg ". Essayez d'utiliser un type de contenu différent.

Questions connexes