Usé esto:
$('input[type=file]').val()
para obtener el nombre del archivo seleccionado, pero devolvió la ruta completa, como en "C: \ fakepath \ filename.doc". La parte de "ruta falsa" estaba realmente allí, no estoy seguro de si se supone que es así, pero esta es la primera vez que trabajo con el nombre de archivo de las cargas de archivos.
¿Cómo puedo obtener el nombre del archivo (filename.doc)?
javascript
jquery
get
filenames
marky
fuente
fuente
C:\fakepath\
que los sitios maliciosos no puedan usar JavaScript para obtener información sobre la estructura de directorios de su computadora.Respuestas:
o simplemente podría hacerlo (porque siempre
C:\fakepath
se agrega por razones de seguridad):fuente
Fakepath
con una F mayúscula?Solo necesita hacer el código a continuación. El primer [0] es acceder al elemento HTML y el segundo [0] es acceder al primer archivo de carga del archivo (incluí una validación en caso de que no haya ningún archivo):
fuente
Chrome regresa
C:\fakepath\...
por razones de seguridad: un sitio web no debería poder obtener información sobre su computadora, como la ruta a un archivo en su computadora.Para obtener solo la parte del nombre de archivo de una cadena, puede usar
split()
...jsFiddle .
... o una expresión regular ...
jsFiddle .
... o
lastIndexOf()
...jsFiddle .
fuente
Obtenga trabajo de ruta con todos los SO
Ejemplo
Ambos regresan
fuente
var filename = $('input[type=file]').val().replace(/.*(\/|\\)/, '');
está usando jQuery.Así es como lo hago, funciona bastante bien.
En tu HTML haz:
Luego, en su archivo js, cree una función simple:
Si está haciendo varios archivos, también debería poder obtener la lista haciendo un bucle sobre esto:
fuente
tal vez alguna adición para evitar fakepath:
fuente
¿Qué tal algo como esto?
fuente
¿Tiene que ser jquery? ¿O puede usar el nativo de JavaScript
yourpath.split("\\")
para dividir la cadena en una matriz?fuente
Obtenga el primer archivo del control y luego obtenga el nombre del archivo, ignorará la ruta del archivo en Chrome y también corregirá la ruta para los navegadores IE. Al guardar el archivo, debe usar el
System.io.Path.GetFileName
método para obtener el nombre del archivo solo para los navegadores IEfuente
fuente
fuente
Esta alternativa parece la más adecuada.
fuente
Aquí puedes llamar así Deja que este sea mi control de Archivo de entrada
Ahora aquí está mi Jquery que se llama una vez que selecciona el archivo
fuente
También podemos eliminarlo usando
match
fuente