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
17487
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
5 juillet 2022
600
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
17487
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
5 juillet 2022
600
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
17487
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
5 juillet 2022

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
17487
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
5 juillet 2022
600 > 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