type - Ruta completa desde la entrada del archivo usando jQuery
set value input file jquery (3)
Bueno, no es posible obtener el camino completo, pero podemos tener un camino temporal.
Prueba esto:
Le dará una ruta temporal, no la ruta correcta, puede usar esta secuencia de comandos si desea mostrar las imágenes seleccionadas como en este ejemplo de jsfiddle (Pruébelo seleccionando imágenes y otros archivos):
Aquí está el código:
HTML: -
<input type="file" id="i_file" value="">
<input type="button" id="i_submit" value="Submit">
<br>
<img src="" width="200" style="display:none;" />
<br>
<div id="disp_tmp_path"></div>
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) --> <strong>["+tmppath+"]</strong>");
});
No es exactamente lo que estabas buscando, pero puede ser que pueda ayudarte en alguna parte.
Cuando llamo a val()
en una entrada con type="file"
solo obtengo el nombre de archivo en lugar de la ruta completa. ¿Cómo puedo obtener el camino completo?
No se puede: es una característica de seguridad en todos los navegadores modernos.
Para IE8 , está desactivado por defecto, pero se puede reactivar usando una configuración de seguridad:
Cuando se selecciona un archivo utilizando el tipo de entrada = objeto de archivo, el valor de la propiedad de valor depende del valor de la configuración de seguridad "Incluir ruta de 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 unidad local y la ruta del directorio con la cadena C: / fakepath / para evitar la divulgación de información inapropiada.
En todos los demás navegadores mainstream actuales que conozco, también está apagado. El nombre del archivo es lo mejor que puedes obtener.
Información más detallada y buenos enlaces en esta pregunta . Se refiere a obtener el valor del lado del servidor, pero el problema es el mismo en JavaScript antes del envío del formulario.
como se indicó anteriormente, esto generalmente es un problema de permiso. intente y mueva el archivo a un área diferente y otórguele permisos completos.
var path = $ (''# file''). attr ("valor");