C# 点击下载ASHX图像
我正在使用ashx从数据库提供图像,是否有任何方式让用户点击一个链接,允许他们下载到计算机上的文件。(即显示保存对话框)就像下载文件一样。这可能吗?我认为,如果导航器能够打开您试图获取的文件类型,它将不经请求打开它。例如,如果文件是C# 点击下载ASHX图像,c#,asp.net,ashx,C#,Asp.net,Ashx,我正在使用ashx从数据库提供图像,是否有任何方式让用户点击一个链接,允许他们下载到计算机上的文件。(即显示保存对话框)就像下载文件一样。这可能吗?我认为,如果导航器能够打开您试图获取的文件类型,它将不经请求打开它。例如,如果文件是zip格式,导航器将无法打开它并要求您下载。我认为,如果导航器能够打开您试图获取的文件类型,它将不经请求打开它。如果文件为zip格式,导航器将无法打开它并要求您下载它。如果希望它提示保存,请确保在创建响应时添加以下行: context.Response.AppendH
zip
格式,导航器将无法打开它并要求您下载。我认为,如果导航器能够打开您试图获取的文件类型,它将不经请求打开它。如果文件为zip
格式,导航器将无法打开它并要求您下载它。如果希望它提示保存,请确保在创建响应时添加以下行:
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);
如果希望提示保存,请确保在创建响应时添加以下行:
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);
但在谷歌搜索中我发现:关于将任何文件下载到浏览器。但在谷歌搜索中我发现:关于将任何文件下载到浏览器。如果我使用这个
Response.AppendHeader(“内容处置”,“附件;文件名=“+”evimg.ashx?id=18”)代码>它试图下载文件evimg.ashx_id=18,该文件不包含任何内容。@atrljoe您可能没有正确返回响应。您可以发布用于生成响应的代码吗?如果我使用此response.AppendHeader(“内容处置”、“附件;文件名=“+”evimg.ashx?id=18”)代码>它试图下载文件evimg.ashx_id=18,该文件不包含任何内容。@atrljoe您可能没有正确返回响应。您可以发布用于生成响应的代码吗?