c#读取本地文件

来源:百度知道 编辑:UC知道 时间:2024/06/03 10:20:25
一个很简单的c#web程序,作用是读取并显示本地c盘根目录下面的tem.txt文件,在本地调试正常。
但是上传到服务器之后,就显示“文件找不到”,只好在服务器的c:\也放了一个tem.txt文件,才能打开,但是我的目的是要打开本地文件,而不是远程文件啊。不知道是代码的问题,还是web.config设置的问题,刚开始学asp.net,请知道的前辈指导一下!
方法如下:
protected void Btn_display_Click(object sender, EventArgs e)
{
string filename=@"c:\\tem.txt";//打开文件并显示其内容
StreamReader reader=null;
reader=new StreamReader(filename);
for(string line=reader.ReadLine();line!=null;line=reader.ReadLine())
{
Response.Write(line);
Response.Write("<BR>");
}
reader.Close();
}

不能实现...
试想一下,你开一个网页,它就读你本地的文件.你还敢开网页吗??B/S中.网页是不允许访问本地资源的.否则没有任何安全性可言了...那样天也不知道在网页Load的时候对你的机器做了什么.你还敢用WEB吗????
只有两种方式:
一.用一个上传控件,把文件传到服务器上再打开.
二.写一个ActiveX组件.因为ActiveX需要GUID,同时也会提示安装,所以允许访问本地资源.

1.根据你的描述 你的文件读取时没有问题的
2.问题所在是如何访问远程文件
3.访问远程文件
string sharepath = "\\\\192.168.1.1\\c$\\1001.txt";
FileStream fs = new FileStream(sharepath,FileMode.Open,FileAccess.Read,FileShare.Read);

服务器和客户端的概念你要理解清楚

@"c:\\tem.txt";
改成@"c:\tem.txt";

@c:\\tem.txt";改成 @c:\tem.txt";