Извлечение списка имен файлов в каталоге root с использованием javascipt - PullRequest
0 голосов
/ 23 марта 2020

Как я могу получить имена файлов в каталоге root и сохранить их как строки? Предположительно у меня есть файлы со стороны сервера на http://192.168.1.10/REPORTS и я могу просмотреть их, как показано ниже:

enter image description here

Например, я объявил переменные a, b, c, d, .. . Тогда я буду хранить выбранные имена файлов соответственно. a = A_3_3_1.CSV, b = A_3_3_4.CSV и т. д. ...

Это очень поможет мне в улучшении и настройке пользовательского интерфейса, в отличие от того, что вы видите. Есть ли способ сделать это?

1 Ответ

0 голосов
/ 23 марта 2020

Вот один из способов, которым вы можете использовать ajax, чтобы получить список файлов в каталоге.

Пока файлы HTML по умолчанию не находятся в том же каталоге, что и файлы (например, index. html, по умолчанию. html), ajax вернет страницу, показанную на вашем скриншоте , Тогда нужно просто собрать имена файлов из тегов <a>.

const dir = ".";

$.ajax({
    //This will retrieve the contents of the folder if the folder is configured as 'browsable'
    url: dir,
    success: function (data) {         
        $(data).find("a").each(function () {            
            console.log('contents');
            var filename = this.href.split('/').pop();
            $('#FileList').append('<li>'+filename+'</li>');
        });
    }
});

Если вы хотите исключить файлы HTML и JS, которые вы используете для получения списка, сделайте это в обратном вызове success.

if (filename !== 'filelist.html' && filename !== 'filelist.js') {
  $('#FileList').append('<li>'+filename+'</li>');
}

Если вы хотите ограничить вывод только файлами CSV, укажите это в функции find.

const fileextension = ".csv";
...

$(data).find("a:contains(" + fileextension + ")").each(function () { 
  ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...