Asp.net mvc 3 System.IO.File.Exists()返回false

Asp.net mvc 3 System.IO.File.Exists()返回false,asp.net-mvc-3,file-io,Asp.net Mvc 3,File Io,我有一个页面,需要显示存储在服务器上的图像。要查找该图像,我使用以下代码: if (System.IO.File.Exists(Server.MapPath(filepath))) 当我使用它时,由于文件存在,我得到了一个正确的结果 但当我给出如下的绝对路径时: if (System.IO.File.Exists("http://myserever.address/filepath")) 它返回false 文件实际存在于那里,但我不知道为什么找不到它。您不能在file.Exists中使用

我有一个页面,需要显示存储在服务器上的图像。要查找该图像,我使用以下代码:

 if (System.IO.File.Exists(Server.MapPath(filepath)))
当我使用它时,由于文件存在,我得到了一个正确的结果

但当我给出如下的绝对路径时:

 if (System.IO.File.Exists("http://myserever.address/filepath"))
它返回false


文件实际存在于那里,但我不知道为什么找不到它。

您不能在file.Exists中使用HTTP路径。它支持网络共享和本地文件系统。如果您想在服务器端的web应用程序中执行此操作。首先使用
Server.MapPath()
查找物理位置,然后使用File.Exists

在此处阅读有关服务器.MapPath的信息:

例如


无法在File.Exists中使用HTTP路径。它支持网络共享和本地文件系统。如果您想在服务器端的web应用程序中执行此操作。首先使用
Server.MapPath()
查找物理位置,然后使用File.Exists

在此处阅读有关服务器.MapPath的信息:

例如


System.IO.File.Exists的path参数是文件系统中实际文件的路径

调用Server.MapPath()将URI更改为实际的文件路径


因此,它可以正常工作。

System.IO.File.Exists的路径参数是文件系统中实际文件的路径

调用Server.MapPath()将URI更改为实际的文件路径

因此,它正在按预期工作

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

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