JavaScript: чтение файлов в папке - PullRequest
11 голосов
/ 11 августа 2011

РЕДАКТИРОВАТЬ: Я пытаюсь прочитать все файлы в определенной папке и перечислить файлы там, а не прочитать содержимое конкретного файла.Я просто попытался просто создать FileSystemObject, и он тоже ничего не делает.Я показываю предупреждение (которое появляется) перед созданием FileSystemObject и одно после него (которое не показано).Таким образом, проблема заключается в простом создании объекта.

Оригинал:

Я пытаюсь прочитать все файлы в папке с помощью JavaScript.

Это локальный файл HTML, и онне будет на сервере, поэтому я не могу использовать PHP, я думаю.

Сейчас я пытаюсь прочитать все файлы в определенной папке, но ничего не происходит в том случае, если ясделать FileSystemObject

Вот код, который я использую, Предупреждение показывает до 2, затем оно останавливается.

    alert('1');
    var myObject, afolder, date;
    alert('2');
    myObject = new ActiveXObject("Scripting.FileSystemObject");
    alert('3');
    afolder = myObject.GetFolder("c:\\tmp");
    alert('4');
    date = afolder.DateLastAccessed;
    alert("The folder"+name+" is a temporary folder.");

Я делаю это правильно?

Спасибо!

Ответы [ 2 ]

4 голосов
/ 19 августа 2015

Это решение работает только на IE11 или старше, поскольку оно основано на MS

<script type="text/javascript"> 
    var fso = new ActiveXObject("Scripting.FileSystemObject"); 

    function showFolderFileList(folderspec) {    
        var s = "";
        var f = fso.GetFolder(folderspec);

        // recurse subfolders
        var subfolders = new Enumerator(f.SubFolders);
        for(; !subfolders.atEnd(); subfolders.moveNext()) {
            s += ShowFolderFileList((subfolders.item()).path);
        }  

        // display all file path names.
        var fc = new Enumerator(f.files);
        for (; !fc.atEnd(); fc.moveNext()) {
            s += fc.item() + "<br>";
        }
        return s; 
    }

    function listFiles() {
        document.getElementById('files').innerHTML = showFolderFileList('C:');
    }
</script>

<input type='button' onclick='listFiles()' value='List Files' />
<div id="files" />
4 голосов
/ 11 августа 2011

Метод, который я нашел с помощью поиска Google, использует HTML5, поэтому, если вы используете современный браузер, вам будет хорошо. Также страница учебника, кажется, проверяет, поддерживает ли используемый вами браузер эти функции. Если это так, вы должны хорошо следовать учебнику, который кажется довольно основательным.

http://www.html5rocks.com/en/tutorials/file/dndfiles/

...