File.Exists renvoie false lorsque le fichier existe réellement.ASP.NET File.Exists renvoie false lorsque le fichier existe
Je sais que cela retournerait faux s'il n'y a pas d'autorisations de lecture, mais je n'arrive pas à le faire correctement.
Plus d'infos:
Ma FTP est organisé comme ceci:
Root
ImageSite
ImageDirectory
MySite
My .aspx.cs File that's calling File.Exists()
J'ai essayé de télécharger le fichier .aspx.cs avec le même compte utilisateur ftp comme ImageSite & ImageDirectory. N'a pas aidé.
J'ai également essayé de remplacer les barres obliques avec des barres obliques inversées, juste pour être sûr.
Voici mon code - J'ai codé en dur le chemin du fichier vers le chemin ftp complet du répertoire image.
string serverUrl [email protected]"\\fs4-n01\blah\blah\blah\ImageSite.com\web\content\Images\" + product.ImageUrl;
bool exists = File.Exists(serverUrl);
Je pensais aussi à l'usurpation d'identité. J'utilise déjà une identité d'identité dans mon web.config et il ne semble pas que je puisse utiliser les deux, donc j'ai placé celui-ci dans le sous-répertoire où se trouve mon code, sous tag. Mais ça n'a pas l'air de le faire. (De toute façon, le propriétaire du fichier est le même que le répertoire de l'image, comme je l'ai mentionné.)
J'utilise ASP.NET 4.0.
Toutes les idées seraient appréciées.
par l'URL il semble que vous utilisez samba (partage de fichiers), pas ftp. Est-ce exact? Pouvez-vous réellement ouvrir le fichier dans l'explorateur à partir du chemin dans votre code? Votre code est également exécuté sous un utilisateur différent (peut-être que cet utilisateur ne peut pas accéder à ce partage de fichiers)? – csauve
Est-ce que ce compte que le site s'exécute sous (voir l'identité du pool d'applications) a des autorisations pour lire le répertoire? – Oded
Je ne suis pas sûr, j'y accède certainement via FTP. J'ai obtenu cette URL en utilisant File.GetDirectoryName (Server.MapPath ("~")) ... – Rivka