Asp.net c# - 检查文件是否存在失败

时间:2013-05-30 18:41:42

标签: c# .net file-io

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

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()的路径打印到标签上,它应该是正确的。 我不明白这是什么问题。 - 应找到该文件。

3 个答案:

答案 0 :(得分:6)

在您的评论中,您提到这是网站。请尝试使用Server.MapPath

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

}

答案 1 :(得分:1)

您的相对路径应该不正确,使用Server.MapPath(“您的根文件夹的相对路径”)而不是直接相对路径,

在您的情况下,请使用

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

答案 2 :(得分:0)

如果您仍然无法弄清楚出了什么问题,您应该使用procmon.exe找出该文件被查找的路径。如果有错误,它也会显示错误。 procmon输出了很多信息,但过滤器功能可以帮助你。

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