从asp.net打开任何文件

时间:2011-07-18 12:50:49

标签: c# .net asp.net visual-studio file-io

如何以编程方式在ASP.NET中打开路径指定的任何文件?

我尝试了下面的代码段,但它会读取文件的内容而不是打开文件:

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

我也试过File.Open method

2 个答案:

答案 0 :(得分:2)

如果您刚刚打开它,可以Response.Redirect提交

或者如果正在下载文件,您可以使用以下代码;

    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();
    }

答案 1 :(得分:0)

如果您希望在客户端打开文件,请创建HTTP Handler并在响应中设置适当的mime类型,然后再将其从处理程序中流出。

如需了解更多信息,我会在你的问题附近提问。

how to open file with its application