2

我有一个项目,我想检查目录中是否存在文件。

if (File.Exists("\\Galerija\\" + Session["up_ime"] + "\\" + Session["slika_profila"]))
{
  Label1.Text = "exist";
}
else {
  Label1.Text = "does not exist";
}

该文件的目录是\Galerija\admin\slika.jpg. 该文件在目录中,但我返回它没有。我还打印了我给File.Exists()标签的路径,它应该是正确的。我看不出有什么问题。- 应该找到该文件。

4

3 回答 3

6

在您的评论中,您提到这是一个网站。所以尝试Server.MapPath

if (File.Exists(Server.MapPath(string.Format("Galerija/{0}/{1}" ,Session["up_ime"] , Session["slika_profila"]))))
{
     Label1.Text = "exist";

}
于 2013-05-30T18:53:15.497 回答
1

您的相对路径应该不正确,使用 Server.MapPath("your relative path to root folder") 而不是直接相对路径,

在你的情况下,使用

if (File.Exists(Server.MapPath("\\Galerija\\" + Session["up_ime"] + "\\" + Session["slika_profila"])))
        {
            Label1.Text = "exist";

        }
        else
        {
            Label1.Text = "does not exist";
        }

你可以在这里找到更多信息,

http://msdn.microsoft.com/en-us/library/system.web.httpserverutility.mappath.aspx

于 2013-05-30T19:04:43.150 回答
0

如果您仍然无法找出问题所在,您应该使用 procmon.exe 找出正在查找文件的路径。如果有任何错误,它还会向您显示错误。procmon 会输出很多信息,但过滤器功能可以在这里为您提供帮助。

在此处下载 - http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx

于 2013-05-30T18:49:05.123 回答