Ashx force下载图片

时间:2011-04-14 04:46:35

标签: asp.net

我有一个显示图像的ashx文件。 我不想显示图像,但强制下载。

这是我的代码:

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

当我使用此ashx打开浏览器时,图像是 自动显示。请问如何下载?

非常感谢

2 个答案:

答案 0 :(得分:1)

嗯,你的代码看起来很正确。我过去曾使用过此片段来实现您的目标:

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

几乎相似......

答案 1 :(得分:0)

如果他们的内容类型为" image / jpeg",您的浏览器将始终在窗口中显示图片。尝试使用不同的contentType。