为什么架到IIS里面。 读取txt等文件的时候说找不到路径?

时间:2022-09-03 20:12:36
我把网站放到IIS里面。在别人电脑上浏览一个TXT文件读取,  报错说找不到**/**/路径

但我在我电脑上是可以读取到TXT文件的,
更奇怪的是。 我在别人电脑桌面上上建一个跟我电脑桌面上一样的文件名的txt空白文件。  居然访问到我电脑上的txt内容去了?

请问这是为什么?

15 个解决方案

#1


访问的是IIS所在机器上的文件

#2


引用 1 楼 q107770540 的回复:
访问的是IIS所在机器上的文件
嗯。 这是正常的?    要是放服务器上呢?

#3


服务器端访问服务器上传文件
上传文件到服务器

#4


别人电脑如果想访问你网站上的文件,要通过WEB地址访问的,请确认地址是否正确。

第二个问题,抱歉没听懂……

#5


为什么弄个绝对路径呢

桌面上建一个相同的文件?
你仔细看看每个电脑的桌面的路径一样吗?和UserName有关系的啊

#6


引用 4 楼 xy230837 的回复:
别人电脑如果想访问你网站上的文件,要通过WEB地址访问的,请确认地址是否正确。

第二个问题,抱歉没听懂……
不是WEB地址。  是我页面的fileupload 浏览的文件。   找不到路径,
别的电脑会访问的是IIS所在机器上的文件的路径。  

#7


。。。 难道我没说清楚吗?
我的功能是  浏览一个.txt的文本文件的内容。  使用fileupload控件得到路径。FileStream对象读取内容。                    报错找不到路径。  

现在我找到了原因。 别人电脑浏览的路径是IIS所在机器上的文件的路径。
为什么确定别人电脑浏览的路径是IIS所在机器上的文件的路径呢?
因为我在别人电脑桌面上建一个跟IIS所在机器桌面上一样的文件名的aa.txt空白文件(IIS电脑上的aa.txt是有内容的)。 访问到IIS所在机器txt内容去了。 

。  但我不知道为什么?怎么解决?

#8


????????????/

#9


http://dotnet.aspx.cc/article/78280914-a75c-40dc-9dac-322b3d81be35/read.aspx

代码很简单,就不罗唆了。

C#:

<%@ Page Language="C#" AutoEventWireup="true" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>不经保存,直接读取上传文件的内容</title>
</head>
<body>
  <form id="MengXianhui" runat="server">
    <asp:FileUpload ID="FileUpload1" runat="server" />
    <asp:Button ID="btnUpload" runat="server" Text="上传" OnClick="btnUpload_Click"></asp:Button>
    <p>
      <asp:Label ID="Msg" runat="server" ForeColor="Red"></asp:Label></p>
  </form>
</body>
</html>


#10


!!!!!!!!!!!!!!!!!!!!

#11


为什么程序会认为是我IIS电脑上的路径呢???

#12


服务器只能读网站目录下的路径

能读你本地的,那是因为你机器同时也是服务器,并且以你登录的当前用户运行的

#13


那我真迷茫了。。     不可以读使用者机器的路径的文件? 

#14


也就是说, 我读取文件要保存到服务器才可以读吗?     

#15


是的,要读取本地文件,必须上传,但可以不用保存,参见例子

#1


访问的是IIS所在机器上的文件

#2


引用 1 楼 q107770540 的回复:
访问的是IIS所在机器上的文件
嗯。 这是正常的?    要是放服务器上呢?

#3


服务器端访问服务器上传文件
上传文件到服务器

#4


别人电脑如果想访问你网站上的文件,要通过WEB地址访问的,请确认地址是否正确。

第二个问题,抱歉没听懂……

#5


为什么弄个绝对路径呢

桌面上建一个相同的文件?
你仔细看看每个电脑的桌面的路径一样吗?和UserName有关系的啊

#6


引用 4 楼 xy230837 的回复:
别人电脑如果想访问你网站上的文件,要通过WEB地址访问的,请确认地址是否正确。

第二个问题,抱歉没听懂……
不是WEB地址。  是我页面的fileupload 浏览的文件。   找不到路径,
别的电脑会访问的是IIS所在机器上的文件的路径。  

#7


。。。 难道我没说清楚吗?
我的功能是  浏览一个.txt的文本文件的内容。  使用fileupload控件得到路径。FileStream对象读取内容。                    报错找不到路径。  

现在我找到了原因。 别人电脑浏览的路径是IIS所在机器上的文件的路径。
为什么确定别人电脑浏览的路径是IIS所在机器上的文件的路径呢?
因为我在别人电脑桌面上建一个跟IIS所在机器桌面上一样的文件名的aa.txt空白文件(IIS电脑上的aa.txt是有内容的)。 访问到IIS所在机器txt内容去了。 

。  但我不知道为什么?怎么解决?

#8


????????????/

#9


http://dotnet.aspx.cc/article/78280914-a75c-40dc-9dac-322b3d81be35/read.aspx

代码很简单,就不罗唆了。

C#:

<%@ Page Language="C#" AutoEventWireup="true" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>不经保存,直接读取上传文件的内容</title>
</head>
<body>
  <form id="MengXianhui" runat="server">
    <asp:FileUpload ID="FileUpload1" runat="server" />
    <asp:Button ID="btnUpload" runat="server" Text="上传" OnClick="btnUpload_Click"></asp:Button>
    <p>
      <asp:Label ID="Msg" runat="server" ForeColor="Red"></asp:Label></p>
  </form>
</body>
</html>


#10


!!!!!!!!!!!!!!!!!!!!

#11


为什么程序会认为是我IIS电脑上的路径呢???

#12


服务器只能读网站目录下的路径

能读你本地的,那是因为你机器同时也是服务器,并且以你登录的当前用户运行的

#13


那我真迷茫了。。     不可以读使用者机器的路径的文件? 

#14


也就是说, 我读取文件要保存到服务器才可以读吗?     

#15


是的,要读取本地文件,必须上传,但可以不用保存,参见例子