2009-12-16 377 views
11

这是我的问题。 我从数据库中加载XML和使用代码把它推到客户端。 但问题是,浏览器自动打开XML不是提供它作为一个下载。如何强制浏览器下载xml文件?

有没有办法强迫你的浏览器下载该文件并没有显示呢?

我在C#的工作,Asp.net环境(IIS7)。

THX

回答

20
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类型。

+0

THX,这个做的伎俩就好了。 伟大 – user29964 2009-12-16 08:07:00

+0

我有一个方法不为首次下载工作问题..但是从第二次起开始,它工作正常..第一次,而不是'filename'它显示的页面name' test1' ..任何想法为什么? – william 2011-09-14 11:00:34

+0

你可以在这里发布一些代码吗? – 2011-09-14 15:16:58

1

添加内容处置:附件标题。