ASHX图像下载点击

时间:2011-03-21 20:01:54

标签: c# asp.net ashx

我正在使用ashx来提供来自数据库的图像,无论如何让用户点击允许他们在计算机上下载文件的链接。 (IE显示保存对话框)就像下载文件一样。这可能吗?

2 个答案:

答案 0 :(得分:6)

如果您希望它提示保存,请确保在创建响应时添加以下行:

context.Response.AppendHeader("Content-Disposition",
    "attachment;filename=" + filename);

这将使浏览器将其视为附件并使用保存对话框进行提示。

编辑:根据您的评论,确保您正确构建答案:

// set attachment header like above
// then you need to get your file in byte[] form
byte[] dataYouWantToServeUp = GetData();
// you can set content type as well
yourHttpContext.Response.ContentType = "image/jpg";
// serve up the response
yourHttpContext.Response.BinaryWrite(dataYouWantToServeUp);

答案 1 :(得分:0)

我认为如果导航器能够打开你想要获取的文件类型,它会打开它而不会询问。如果对于瞬间,文件是zip格式,导航器无法打开它并要求您下载它。