Este team de trabajo ha estado mucho tiempo investigando la resolución a tus dudas, te compartimos la respuesta y esperamos que resulte de mucha apoyo.
Solución:
Por razones de seguridad, los navegadores no permiten esto, es decir, JavaScript en el navegador no tiene acceso al sistema de archivos; sin embargo, al usar la API de archivos HTML5, solo Firefox proporciona un mozFullPath
propiedad, pero si intenta obtener el valor, devuelve un vacío string:
$('input[type=file]').change(function ()
console.log(this.files[0].mozFullPath);
);
http://jsfiddle.net/SCK5A/
Así que no pierdas tu tiempo.
editar: si necesita la ruta del archivo para leer un archivo, puede usar la API FileReader en su lugar. Aquí hay una pregunta relacionada con SO: Obtenga una vista previa de una imagen antes de cargarla.
Prueba esto:
Le dará una ruta temporal, no la ruta precisa, puede usar este script si desea mostrar las imágenes seleccionadas como en este ejemplo jsfiddle (Pruébelo seleccionando imágenes y otros archivos): –
JSFDDLE
Aquí está el código: –
HTML:-
JS:-
$('#i_file').change( function(event)
var tmppath = URL.createObjectURL(event.target.files[0]);
$("img").fadeIn("fast").attr('src',URL.createObjectURL(event.target.files[0]));
$("#disp_tmp_path").html("Temporary Path(Copy it and try pasting it in browser address bar) --> ["+tmppath+"]");
);
No es exactamente lo que estabas buscando, pero puede ser que pueda ayudarte en alguna parte.
No puede hacerlo: el navegador no lo permitirá por motivos de seguridad.
Cuando se selecciona un archivo mediante el tipo de entrada = objeto de archivo, el valor de la propiedad de valor depende del valor de la configuración de seguridad “Incluir la ruta del directorio local al cargar archivos en un servidor” para la zona de seguridad utilizada para mostrar la página web que contiene el objeto de entrada.
El nombre de archivo completo del archivo seleccionado se devuelve solo cuando esta configuración está habilitada. Cuando la configuración está deshabilitada, Internet Explorer 8 reemplaza la ruta del directorio y la unidad local con la string
C:fakepath para evitar la divulgación de información inapropiada.
Y otra
Te lo perdiste );
esto al final de la función de evento de cambio.
Además, no cree una función para el evento de cambio, en lugar de eso, utilícela como se muestra a continuación,