如何强制浏览器下载 xml 文件?

Posted

技术标签:

【中文标题】如何强制浏览器下载 xml 文件?【英文标题】:How can you force the browser to download an xml file? 【发布时间】:2010-12-27 03:34:06 【问题描述】:

这是我的问题。 我从我的数据库中加载 xml 并使用代码将其推送到客户端。 但问题是浏览器会自动打开该 xml,而不是提供下载。

有没有办法强制您的浏览器下载该文件而不显示它?

我在 C#、Asp.net 环境中工作(使用 IIS7)。

谢谢

【问题讨论】:

【参考方案1】:
protected void DisplayDownloadDialog()

    Response.Clear();
    Response.AddHeader(
        "content-disposition", string.Format("attachment; filename=0", "filename.xml"));

    Response.ContentType = "application/octet-stream";

    Response.WriteFile("FilePath");
    Response.End();

这将强制下载文件而不显示在浏览器中。

这适用于任何文件类型 无需指定任何 特殊的 MIME 类型。

【讨论】:

我有一个问题,方法在第一次下载时不起作用..但是从第二次开始,它工作正常..第一次,而不是 filename 它是显示页面名称test1.. 知道为什么吗??【参考方案2】:

本文对此进行了解释:http://www.xefteri.com/articles/show.cfm?id=8

关键在这一行:

Response.AddHeader("Content-Disposition", "attachment; filename=" & file.Name) 

【讨论】:

【参考方案3】:

添加一个 content-disposition: 附件头。

【讨论】:

以上是关于如何强制浏览器下载 xml 文件?的主要内容,如果未能解决你的问题,请参考以下文章

PHP如何强制下载文件

如何在移动浏览器上使用 PHP 强制下载文件?

如何强制运行 swf 文件,而不是下载

十nginx 强制下载txt等文件

强制网络浏览器播放文件而不是下载

强制浏览器在点击时下载图像文件