Bonjour.
Existe-t-il (par le plus grand des hasards) une méthode qui permet de tester une "string" pour savoir si elle est utilisable en tant que nom de fichier ?
Un truc du genre : File.FileName.Tryparse("hfhfhfhfhfh.txt.fgfgfg!**");
Version imprimable
Bonjour.
Existe-t-il (par le plus grand des hasards) une méthode qui permet de tester une "string" pour savoir si elle est utilisable en tant que nom de fichier ?
Un truc du genre : File.FileName.Tryparse("hfhfhfhfhfh.txt.fgfgfg!**");
Hello mon ami, je te présente "Regex" ton futur nouvel ami :)
Plus sérieusement Regex sur mon site je l'ai utilisé pour checker les fichiers de type image qui sont uploadé.
Exemple :
Je te laisse adapter a ta sauce. Mais l'idée c'est ca :)Code:Regex MyRegexFileName = new Regex(@"(.*?)\.(jpg|jpeg|png|gif)$");
Il ne faut pas oublier les caractères interdits :
http://msdn.microsoft.com/en-us/libr...pathchars.aspx
http://msdn.microsoft.com/en-us/libr...namechars.aspx
Il n'y malheureusement pas de fonction du framework qui te garantisse la validité d'un path.
On peut controller la présence de Path.GetInvalidPathChars() et/ou Path.GetInvalidFileNameChars(), mais ca ne detectera pas d'erreur pour par exemple "C:C:\\\\C".
Bon, ben je vais faire à l'ancienne !!
Je tente de créer le fichier dans un répertoire temporaire et je teste les erreurs.
- En cas d'erreur, nom invalide
- SI ok, le nom est correct, je détruis le fichier
Sauvage, mais efficace (à moins que selon les plateformes et/ou culture, mais je ne pense pas ...)