Сканирование содержимого папок в Javascript

#javascript #html #directory

Вопрос:

Я пытаюсь создать видеоплеер HTML5, который автоматически включит режим воспроизведения, если в папке /videos находится более одного видеофайла.

Я стараюсь не использовать PHP для этого, поэтому, пожалуйста, имейте это в виду, когда что-то предлагаете.

Спасибо.

Комментарии:

1. Нет никакого способа «перечислить» удаленные файлы в JavaScript, кроме как в том виде, в каком они предоставлены сервером. В этом случае лучшим способом было бы попросить сервер каким-либо образом предоставить информацию.

2. В любом случае. это также может быть сделано с помощью соглашения, т. Е. video1.mpg , video2.mpg , videoN.mpg .. в этом случае имена ресурсов угадываются — ну, просто проверяются последовательно — до тех пор, пока один из них не загрузится. Не то чтобы я рекомендовал это, но это избавляет от необходимости «перечислять» ресурсы.

Ответ №1:

Вы не можете получить доступ к файловой системе с помощью JavaScript. Но вы можете выполнить поддельный HTTP-запрос к каталогу с доступом к индексу:

 var dir = "/videos";
var fileextension = ".mp4";
$.ajax({
    //This will retrieve the contents of the folder if the folder is configured as 'browsable'
    url: dir,
    success: function (data) {
        // List all mp4 file names in the page
        $(data).find("a:contains("   fileextension   ")").each(function () {
            var filename = this.href.replace(window.location.host, "").replace("http:///", "");
            $("body").append($("<img src="   dir   filename   "></img>"));
        });
    }
});