J'ai utilisé ceci:
$('input[type=file]').val()
pour obtenir le nom de fichier sélectionné, mais il a renvoyé le chemin complet, comme dans "C: \ fakepath \ filename.doc". La partie "fakepath" était en fait là - je ne sais pas si elle est censée l'être, mais c'est la première fois que je travaille avec le nom de fichier des téléchargements de fichiers.
Comment puis-je simplement obtenir le nom du fichier (filename.doc)?
javascript
jquery
get
filenames
Marky
la source
la source
C:\fakepath\
afin que les sites malveillants ne puissent pas utiliser javascript pour glaner des informations sur la structure de répertoires de votre ordinateur.Réponses:
ou vous pouvez simplement faire (car c'est toujours
C:\fakepath
ajouté pour des raisons de sécurité):la source
Fakepath
avec un F majuscule?Il vous suffit de faire le code ci-dessous. Le premier [0] est d'accéder à l'élément HTML et le second [0] est d'accéder au premier fichier du fichier upload (j'ai inclus une validation au cas où il n'y aurait pas de fichier):
la source
Chrome revient
C:\fakepath\...
pour des raisons de sécurité - un site Web ne devrait pas être en mesure d'obtenir des informations sur votre ordinateur, telles que le chemin d'accès à un fichier sur votre ordinateur.Pour obtenir uniquement la partie nom de fichier d'une chaîne, vous pouvez utiliser
split()
...jsFiddle .
... ou une expression régulière ...
jsFiddle .
... ou
lastIndexOf()
...jsFiddle .
la source
Obtenez le chemin d'accès avec tous les systèmes d'exploitation
Exemple
Les deux reviennent
la source
var filename = $('input[type=file]').val().replace(/.*(\/|\\)/, '');
utilise jQuery.Voici comment je le fais, cela fonctionne plutôt bien.
Dans votre HTML, faites:
Ensuite, dans votre fichier js, créez une fonction simple:
Si vous faites plusieurs fichiers, vous devriez également pouvoir obtenir la liste en boucle sur ceci:
la source
peut-être un ajout pour éviter les faux chemins:
la source
Que diriez-vous quelque chose comme ça?
la source
Doit-il être jquery? Ou pouvez-vous simplement utiliser le natif de JavaScript
yourpath.split("\\")
pour diviser la chaîne en un tableau?la source
Obtenez le premier fichier du contrôle, puis obtenez le nom du fichier, il ignorera le chemin du fichier sur Chrome et effectuera également une correction du chemin pour les navigateurs IE. Lors de l'enregistrement du fichier, vous devez utiliser la
System.io.Path.GetFileName
méthode pour obtenir le nom du fichier uniquement pour les navigateurs IEla source
la source
la source
Cette alternative semble la plus appropriée.
la source
Ici, vous pouvez appeler comme ceci Laissez ceci est mon contrôle de fichier d'entrée
Voici maintenant mon Jquery qui est appelé une fois que vous sélectionnez le fichier
la source
Nous pouvons également le supprimer en utilisant
match
la source