2009-03-18 9 views
1

Je construis un site web asp.net. Je veux montrer l'image sur la page, mais pendant que je connais le nom de l'image, je ne connais pas l'extension. Donc, je veux ouvrir le répertoire images et obtenir l'image par son nom quelle que soit son extension.Comment obtenir une image avec son nom et une extension?

+0

Quelle partie de ce que vous rencontrez des problèmes avec? Qu'avez-vous essayé? Qu'est-il arrivé? –

Répondre

8

Vous pouvez utiliser l'objet Directory pour obtenir une liste de fichiers dans un répertoire

string imageFilename = System.IO.Directory.GetFiles(imageDirectory, name + ".*").First(); 
+0

C'est à peu près une question de goût, mais je préfère utiliser 'nom +'. * '' Au lieu de fonction de concaténation. Même résultat final, mais plus lisible. – vipirtti

+0

Il m'a donné cette erreur: "System.ArgumentException: caractères illégaux dans le chemin." –

+0

"System.ArgumentException: caractères non autorisés dans le chemin." se produit quand vous n'avez pas échappé le caractère '\' essayez "C: \\" ou @ "C: \" – bstoney

2

Ce n'est pas vraiment le fonctionnement des fichiers - vous devez connaître le nom complet. Par exemple, que se passe-t-il s'il y a plusieurs images avec le même nom de base et différentes extensions? Comparez foo.png et foo.jpg, par exemple.

Une suggestion est d'essayer de faire une recherche générique sur tous les fichiers avec un nom de base dans ce répertoire (c'est ce que fait la solution de bstoney: see here). Si vous trouvez exactement un match, vous avez terminé. Si vous obtenez plusieurs correspondances, vous devrez définir des règles pour savoir lequel est gagnant.

Questions connexes