C# – Open any file from asp.net

.netasp.netc++file-iovisual-studio

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>");        
}        
sr.Close();

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.Clear();
        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";
        Response.WriteFile(file.FullName);
        Response.Flush();
    }