Me llevó mucho buscar y trabajar, pero encontré una respuesta razonablemente viable para esto.
El mayor problema al que me enfrenté fue la búsqueda de archivos del lado del servidor. Encontré un complemento jQuery en A Beautiful Site que resolvió ese problema.
Es un explorador de archivos AJAX con scripts de conector del lado del servidor para JSP, PHP, ASP y otros.
que construyeron árbol de ficheros del módulo web utilizando el siguiente script:
$(document).ready(function() {
$('#loadFolderTree').fileTree({
root: '/server_root/subfolder/tree_root',
script: '/js/jquery_file_tree/connectors/jqueryFileTree.jsp',
multiFolder: false,
});
});
Lo bueno de este guión es que devuelve la ruta del archivo seleccionado como una cadena. Con algunas adiciones menores en el manejo de archivos por defecto del guión, yo era capaz de escribir la ruta del archivo de regresar al campo de formulario apropiado con el siguiente código:
}, function(file) {
var loadPat = document.getElementById("loadPattern");
loadPat.value = file.replace("/server_root/subfolder/tree_root/", "");
Dado que el formulario ya está construida para manejar los archivos relativos a la raíz , no hay necesidad de imprimir la ruta completa, por lo que esta última parte del código recorta la ruta hasta el directorio raíz y establece el valor del formulario en el contenido restante de la cadena.
Lo más importante es que la cadena devuelta se puede editar en la forma que permite a los usuarios cambiar el retorno de input-file-1.txt al archivo de entrada * .txt e importar múltiples archivos en una ejecución.
Este es el resultado final:
$(document).ready(function() {
$('#loadFolderTree').fileTree({
root: '/server_root/subfolder/tree_root',
script: '/js/jquery_file_tree/connectors/jqueryFileTree.jsp',
multiFolder: false,
}, function(file) {
var loadPat = document.getElementById("loadPattern");
loadPat.value = file.replace("/server_root/subfolder/tree_root/", "");
});
});
Tome un vistazo a https://github.com/moskiteau/backbone-filetree – moskiteau