1

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

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

4

1 回答 1

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

它会自动将文件内容写入Response的OutputStream中。

于 2013-07-10T14:59:14.727 回答