C# – Open any file from asp.net


How can I open any file, specified by a path, in ASP.NET programatically?

I tried the snippet below but it reads the contents of the file instead of opening the file:

string fileName = @"C:\deneme.txt";        
StreamReader sr = File.OpenText(fileName);        
while (sr.Peek() != -1)        
    Response.Write(sr.ReadLine() + "<br>");        

I also tried the File.Open method.

Best Solution

You can Response.Redirect to file if you're just opeining it

or if file is being downloaded you can use the folling code;

    public void DownloadFile(string fileName)
        Response.ContentType = @"application\octet-stream";
        System.IO.FileInfo file = new System.IO.FileInfo(Server.MapPath(FileName));
        Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
        Response.AddHeader("Content-Length", file.Length.ToString());
        Response.ContentType = "application/octet-stream";