ASP.NET Meta Refresh Force下载

时间:2013-07-10 14:46:15

标签: c# asp.net meta-tags force-download

我正在使用元刷新标记指向我想从服务器下载的文件。我如何使它下载所有文件,而不是在浏览器中打开它们。我在代码后面添加元标记,如下所示:

String filename = filenode.Element("name").Value.ToString();
HtmlMeta redirectMetaTag = new HtmlMeta();
redirectMetaTag.HttpEquiv = "Refresh";
redirectMetaTag.Content = string.Format("2;url=http://example.example.net/example/" + filename);
this.Header.Controls.Add(redirectMetaTag);

目前,该文件(例如jpg)正在浏览器中打开

1 个答案:

答案 0 :(得分:0)

如果您想强制浏览器打开另存为对话框,则必须为该页面添加几个自定义标题。

我建议您使用TransmitFile函数:

Response.ContentType = "image/jpeg";
Response.AppendHeader("Content-Disposition","attachment; filename=[your-file-name]");
Response.TransmitFile( Server.MapPath("~/images/[your-file-name]") );
Response.End();

它会自动将文件内容写入响应 OutputStream