Trzeba było wielu poszukiwań i trochę pracy, ale znalazłem dość realną odpowiedź na to.
Największym problemem, z którym miałem do czynienia, było przeglądanie plików po stronie serwera. Znalazłem wtyczkę jQuery pod numerem A Beautiful Site, która rozwiązała ten problem.
Jest to przeglądarka plików AJAX ze skryptami łączącymi po stronie serwera dla JSP, PHP, ASP i innych.
I zbudował drzewo plików webapp za pomocą następującego skryptu:
$(document).ready(function() {
$('#loadFolderTree').fileTree({
root: '/server_root/subfolder/tree_root',
script: '/js/jquery_file_tree/connectors/jqueryFileTree.jsp',
multiFolder: false,
});
});
Zaletą tego scenariusza jest to, że zwraca wybraną ścieżkę jako ciąg znaków. Z niewielkimi dodatkami do domyślnej obsługi plików skryptu, byłem w stanie napisać wracającą ścieżkę do odpowiedniego pola formularza z następującego kodu:
}, function(file) {
var loadPat = document.getElementById("loadPattern");
loadPat.value = file.replace("/server_root/subfolder/tree_root/", "");
Ponieważ forma jest już zbudowany do obsługi plików w stosunku do korzenia , nie ma potrzeby drukowania całej ścieżki, więc ten ostatni fragment kodu przycina ścieżkę do katalogu głównego i ustawia wartość formularza na pozostałą zawartość ciągu.
Co najważniejsze, zwracany ciąg jest edytowalny w formie, która pozwala użytkownikom zmienić powrót pliku input-file-1.txt do pliku wejściowego * .txt i zaimportować wiele plików w jednym przebiegu.
Jest to wynik końcowy:
$(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/", "");
});
});
Spójrz na https://github.com/moskiteau/backbone-filetree – moskiteau