2012-08-02 4 views
1

J'ai une page où j'ai besoin d'afficher une image qui est stockée sur le serveur. Pour trouver cette image, j'utilise le code suivant:System.IO.File.Exists() renvoie la valeur false

if (System.IO.File.Exists(Server.MapPath(filepath))) 

Quand je l'utilise, j'obtenir un bon résultat que le fichier est présent.

Mais quand je donne un chemin absolu comme ci-dessous:

if (System.IO.File.Exists("http://myserever.address/filepath")) 

Il retourne false.

Le fichier est physiquement présent, mais je ne sais pas pourquoi il est introuvable.

Répondre

2

Le paramètre de chemin d'accès pour les System.IO.File.Exists est le chemin d'accès à un fichier réel dans le système de fichiers.

L'appel à Server.MapPath() modifie l'URI en un chemin de fichier réel.

Ainsi, cela fonctionne comme prévu.

1

Vous ne pouvez pas utiliser les chemins HTTP dans File.Exists. Il prend en charge les partages réseau et les systèmes de fichiers locaux. Si vous voulez le faire dans une application Web côté serveur. D'abord, utilisez d'abord Server.MapPath() pour trouver l'emplacement physique, puis utilisez File.Exists.

En savoir plus sur Server.MapPath ici: http://msdn.microsoft.com/en-us/library/ms524632%28v=vs.90%29.aspx

Par exemple.

string filePath = ResolveUrl("~/filepath/something.jpg"); 

if (File.Exists(Server.MapPath(filePath))) 
{ 
    //Do something. 
} 
+0

thnx pour votre aide !! – priya77

Questions connexes