Saltar al contenido

Use jQuery para obtener el nombre de archivo seleccionado de la entrada del archivo sin la ruta

Por fin luego de mucho batallar hemos dado con el arreglo de este asunto que muchos usuarios de nuestro sitio tienen. Si deseas aportar algo más no dudes en dejar tu información.

Solución:

var filename = $('input[type=file]').val().split('\').pop();

o simplemente podrías hacerlo (porque siempre es C:fakepath que se agrega por razones de seguridad):

var filename = $('input[type=file]').val().replace(/C:\fakepath\/i, '')

Solo necesita hacer el código a continuación. El primero [0] es acceder al elemento HTML y segundo [0] es acceder al primer archivo de la carga del archivo (incluí una validación en caso de que no haya ningún archivo):

    var filename = $('input[type=file]')[0].files.length ? ('input[type=file]')[0].files[0].name : "";

Cromo 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 un stringpuedes usar split()

var file = path.split('\').pop();

jsviolín.

…o una expresión regular…

var file = path.match(/\([^\]+)$/)[1];

jsviolín.

…o lastIndexOf()

var file = path.substr(path.lastIndexOf('\') + 1);

jsviolín.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *