Cómo obtener la ruta completa del archivo al seleccionar el archivo usando <input type=‘file’>
<input type="file" id="fileUpload">
<script type="text/javascript">
function getFilePath(){
$('input[type=file]').change(function () {
var filePath=$('#fileUpload').val();
});
}
</script>
pero la var filePath contiene el only name
archivo seleccionado, no el full path
.
Lo busqué en la red, pero parece que por razones de seguridad los navegadores (FF, Chrome) solo dan el nombre del archivo.
¿Hay alguna otra forma de obtener la ruta completa del archivo seleccionado?
javascript
jquery
file-upload
filepath
Yogesh Pingle
fuente
fuente
Respuestas:
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 una
mozFullPath
propiedad, pero si intenta obtener el valor, devuelve una cadena vacía: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 sobre SO: Vista previa de una imagen antes de que se cargue.
fuente
Prueba esto:
Le dará una ruta temporal, no la ruta precisa, puede usar esta secuencia de comandos si desea mostrar las imágenes seleccionadas como en este ejemplo jsfiddle (Pruébelo seleccionando imágenes y otros archivos): -
JSFIDDLE
Aquí está el código: -
HTML: -
JS: -
No es exactamente lo que estaba buscando, pero puede ser que pueda ayudarlo en alguna parte.
fuente
No puede hacerlo, el navegador no permitirá esto debido a problemas de seguridad.
Y otra
Te lo perdiste
);
esto al final de la función de evento de cambio.Además, no cree la función para el evento de cambio, solo utilícela como se muestra a continuación,
fuente
D
directorio pero el valor está llegandoC:\fakepath\test.xls
No puedes La seguridad lo detiene por saber algo sobre el sistema de archivo de la computadora cliente, ¡es posible que ni siquiera tenga uno! Puede ser un MAC, una PC, una tableta o un refrigerador con acceso a Internet; no lo sabe, no puede saberlo y no lo sabrá. Y permitirle tener la ruta completa podría brindarle información sobre el cliente, especialmente si se trata de una unidad de red, por ejemplo.
De hecho, puede obtenerlo en condiciones particulares, pero requiere un control ActiveX y no funcionará en el 99.99% de las circunstancias.
De todos modos, no puede usarlo para restaurar el archivo a la ubicación original (ya que no tiene absolutamente ningún control sobre dónde se almacenan las descargas, o incluso si están almacenadas), por lo que en la práctica no le sirve de mucho de todos modos.
fuente
¿Te refieres a esto?
fuente
Puede usar el siguiente código para obtener una URL local que funcione para el archivo cargado:
fuente
Una nota interesante: aunque esto no está disponible en la web, si está utilizando JS en Electron, puede hacerlo.
Usando la entrada estándar de archivos HTML5, recibirá un extra
path
propiedad en los archivos seleccionados, que contiene la ruta real del archivo.Documentos completos aquí: https://github.com/electron/electron/blob/master/docs/api/file-object.md
fuente
Puede, si cargar una carpeta completa es una opción para usted
El evento de cambio contendrá:
fuente
nunca deberías hacerlo ... y creo que probarlo en los últimos navegadores es inútil (por lo que sé) ... todos los últimos navegadores, por otro lado, no permitirán esto ...
algunos otros enlaces que puede atravesar para encontrar una solución alternativa, como obtener el valor en el lado del servidor, pero no en el lado del cliente (javascript)
Ruta completa desde la entrada del archivo usando jQuery
Cómo obtener la ruta del archivo desde el formulario de entrada HTML en Firefox 3
fuente
El elemento de archivo tiene y la llamada de matriz
files
contiene todo lo necesariofuente
Puede obtener la ruta completa del archivo seleccionado para cargar solo con IE11 y MS Edge.
fuente