This is my problem. I load xml from my database and push it to the client using code. But the problem is that the browser automatically opens that xml instead of offering it
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();
}
This will force to download the file and not display in the browser.
This will work for any file types without requiring to specify any special MIME type.
This is explained in this article: http://www.xefteri.com/articles/show.cfm?id=8
The key is in this line:
Response.AddHeader("Content-Disposition", "attachment; filename=" & file.Name)
Add a content-disposition: attachment header.