System.IO.File.Exists()返回false(System.IO.File.Exis

2019-10-17 02:41发布

我有一个页面,我需要显示其存储在服务器上的图像。 为了找到这个形象,我使用下面的代码:

 if (System.IO.File.Exists(Server.MapPath(filepath)))

当我用这个,我得到一个正确的结果作为文件存在。

但是,当我给的绝对路径如下图所示:

 if (System.IO.File.Exists("http://myserever.address/filepath"))

它返回false。

该文件是实际存在的,但是我不知道为什么它没有找到。

Answer 1:

对于System.IO.File.Exists path参数的路径,在文件系统中的实际文件。

要使用Server.Mappath()的调用改变URI为实际的文件路径。

因此,它是如预期运行。



Answer 2:

你不能使用File.Exists HTTP路径。 它支持网络共享和本地文件系统。 如果你想这样做在服务器端的Web应用程序。 首次使用Server.MapPath()首先要找到物理位置,然后使用File.Exists。

阅读关于Server.MapPath这里: http://msdn.microsoft.com/en-us/library/ms524632%28v=vs.90%29.aspx

例如。

string filePath = ResolveUrl("~/filepath/something.jpg");

if (File.Exists(Server.MapPath(filePath)))
{
     //Do something. 
}


文章来源: System.IO.File.Exists() returns false