当File存在时,ASP.NET File.Exists返回false

时间:2012-11-01 16:37:56

标签: c# asp.net file permissions

当文件实际存在时,File.Exists返回false。

我知道如果没有读取权限,它会返回false,但我似乎无法做到正确。

更多信息:

我的FTP目录的组织如下:

Root

    ImageSite

        ImageDirectory

    MySite

        My .aspx.cs File that's calling File.Exists()

我尝试使用与ImageSite相同的ftp用户帐户上传.aspx.cs文件。 ImageDirectory。没有帮助。

我也尝试用反斜杠替换正斜杠,只是为了确定。

这是我的代码 - 我将文件路径硬编码到映像目录的完整ftp路径。

        string serverUrl =@"\\fs4-n01\blah\blah\blah\ImageSite.com\web\content\Images\" + product.ImageUrl;
        bool exists = File.Exists(serverUrl);

我还想过冒充。我已经在我的web.config中使用了一个身份模拟,它似乎没有让我同时使用它们,所以我将这个放在我的代码文件所在的子目录下,在tag下。但似乎并没有这样做。 (无论哪种方式,文件的所有者都与图像目录相同,正如我所提到的。)

我正在使用ASP.NET 4.0。

任何想法都会受到赞赏。

1 个答案:

答案 0 :(得分:2)

我打电话给我的托管服务提供商(Rackspace),并告诉.NET工作的方式是出于安全原因,您无法访问内容目录之外的文件。 (对于ASP经典网站,它确实让你,截至目前。)