当文件实际存在时,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。
任何想法都会受到赞赏。
答案 0 :(得分:2)
我打电话给我的托管服务提供商(Rackspace),并告诉.NET工作的方式是出于安全原因,您无法访问内容目录之外的文件。 (对于ASP经典网站,它确实让你,截至目前。)