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("ルート フォルダーへの相対パス") を使用してください。

あなたの場合、使用します

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 に答える