I have read some past posts here on how to download a Excel file from a website. So, I have setup the below code:
string path = MapPath(fname);
string name = Path.GetFileName(path);
string ext = Path.GetExtension(path);
string type = "application/vnd.ms-excel";
if (forceDownload)
{
Response.AppendHeader("content-disposition",
"attachment; filename=" + name);
}
if (type != "")
{
Response.ContentType = type;
Response.WriteFile(path);
Response.End();
}
However, I get no download dialog box.
I try this both in IE 8 and FireFox 10.0.2.
The file is there, it’s not locked, and it’s not set to read only.
I’m not sure were I went wrong.
According to this link, you need to add this line:
EDIT:
Microsoft’s MSDN site has a detailed explanation about File Downloading. It includes both samples for Java and .Net applications, the concept is the same:
So, looking at the MSDN ASP.Net file download, you’re lacking the 2.3 step. You’re just writing the file name to the response.
With this example you will download your file successfully, of course if you can get the file with no problems :).
EDIT 2:
The HTML component used to download any file must be a regular HTML Request. Any ajax request to download a file won’t work. Microsoft explains that here. And the main quote: