Ci sono volute molte ricerche e alcune soluzioni, ma ho trovato una risposta ragionevolmente valida per questo.
Il problema più grande che ho dovuto affrontare era la ricerca di file sul lato server. Ho trovato un plugin jQuery a A Beautiful Site che ha risolto il problema.
È un browser di file AJAX con script di connessione lato server per JSP, PHP, ASP e altri.
ho costruito albero dei file del webapp utilizzando il seguente script:
$(document).ready(function() {
$('#loadFolderTree').fileTree({
root: '/server_root/subfolder/tree_root',
script: '/js/jquery_file_tree/connectors/jqueryFileTree.jsp',
multiFolder: false,
});
});
La cosa bella di questo script è che restituisce il percorso del file selezionato come stringa. Con alcune aggiunte minori per la gestione dei file di default dello script, sono stato in grado di scrivere il percorso del file restituito al campo apposito modulo con il seguente codice:
}, function(file) {
var loadPat = document.getElementById("loadPattern");
loadPat.value = file.replace("/server_root/subfolder/tree_root/", "");
Dal momento che il modulo è già costruito per gestire i file relativo alla radice , non è necessario stampare l'intero percorso, quindi questo ultimo pezzo di codice taglia il percorso fino alla directory radice e imposta il valore del modulo sul contenuto rimanente della stringa.
Ancora più importante, la stringa restituita è modificabile nel modulo che consente agli utenti di modificare un ritorno di input-file-1.txt in file di input * .txt e di importare più file in una sola esecuzione.
Questo è il risultato finale:
$(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/", "");
});
});
Date un'occhiata a https://github.com/moskiteau/backbone-filetree – moskiteau