Récupérer le nom du fichier à partir d'un URL

Résolu
Karin.code Messages postés 183 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 16 janvier 2018 - Modifié par Karin.code le 9/01/2017 à 21:32
Karin.code Messages postés 183 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 16 janvier 2018 - 13 janv. 2017 à 12:43
Bonjour,
je voudrais récupérer le nom d'un fichier, plus précisément le nom d'une image à partir d'un URL, j'ai trouvé le Poste suivant qui traite la même question que moi(http://codes-sources.commentcamarche.net/forum/affich-1350787-extraire-nom-du-fichier-apartir-d-un-url?login=1#top ), mais j'arrive pas à comprendre le résultat :
par exemple pour le lien suivant :
http://www.icone-png.com/png/12/12179.png
le nom de l'image est :
12179

le résultat à partir du code est :
Vary: Accept-Encoding
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Accept-Ranges: bytes
Content-Length: 4061
Content-Type: image/png
Date: Mon, 09 Jan 2017 20:23:05 GMT
ETag: "306bf2-fdd-515c34a263e18"
Last-Modified: Mon, 11 May 2015 00:16:30 GMT
Server: Apache

je ne comprends pas pourquoi
MiharbiDoNo 
a mis le sujet comme résolu
Merci d'avance pour vos réponses

2 réponses

Whismeril Messages postés 19019 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 14 avril 2024 655
9 janv. 2017 à 21:34
Bonsoir

la première solution qui viennent à l'esprit, c'est String.Split.
tu as "/" et "." comme séparateur, et tu prends l'avant-dernier item du résultat.

Tu peux aussi faire une regex.

Mais sinon, une url ça n'est jamais qu'un chemin, est il existe une classe pour manipuler les chemins, https://msdn.microsoft.com/fr-fr/library/system.io.path(v=vs.110).aspx il y a même une méthode qui retourne le nom d'un fichier sans l'extension.
0
Karin.code Messages postés 183 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 16 janvier 2018 2
Modifié par Karin.code le 9/01/2017 à 22:14
Bonsoir Whismeril,
tout d'abord merci de m'avoir répondu aussi rapidement
pour la première méthode c'est faisable si le nom apparaît dans l'URL, mais il y a des URL où le nom n'est pas visible par exemple pour les URL des vidéos de YouTube, au cas où je veux récupérer le nom d'un fichier (pas une image) par exemple Fichier vidéo
concernant le lien culture Tournai que tu m'as donné je vais y jeter un œil
0
Whismeril Messages postés 19019 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 14 avril 2024 655
9 janv. 2017 à 23:04
Dans les 3 méthodes, il faut que le nom apparaisse.
J'ai répondu en fonction de ton exemple.
0
Karin.code Messages postés 183 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 16 janvier 2018 2 > Whismeril Messages postés 19019 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 14 avril 2024
10 janv. 2017 à 11:14
Bonjour Whismeril,
C'est vrai, désolé l'exemple que j'ai posé est un URL simple d'une image avec à la fin un nom et une extension.
En utilisant le code suivant on peut récupérer :
Le nom seulement :
 System.IO.Path.GetFileNameWithoutExtension(Url) -> 12179 

Le nom avec l'extension :
 System.IO.Path.GetFileName(Url) -> 12179.png  
0
Whismeril Messages postés 19019 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 14 avril 2024 655 > Karin.code Messages postés 183 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 16 janvier 2018
10 janv. 2017 à 12:54
C'est ça
0
Karin.code Messages postés 183 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 16 janvier 2018 2
Modifié par Karin.code le 13/01/2017 à 12:21
Bonjour,
j'ai utilisé la méthode proposé par Whismeril, elle fonctionne sans problème (merci Whismeril), mais hier j'ai remarqué un petit problème, j'ai trouvé ce URL (un URL d'une image) je me souviens pas du URL complet (https:// ................/NomImage.gif?16258100) quand j'utilise :
System.IO.Path.GetFileNameWithoutExtension(Url) -> NomImage
System.IO.Path.GetFileName(Url) -> NomImage.gif?16258100
System.IO.Path.GetExtension(Url) -> gif?16258100
0
Karin.code Messages postés 183 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 16 janvier 2018 2
13 janv. 2017 à 12:43
merci Whismeril et Vb95 pour votre aide
0
Rejoignez-nous