JavaScript:读取文件夹中的文件

时间:2011-08-11 07:04:30

标签: javascript html directory filesystemobject

编辑:我正在尝试读取特定文件夹中的所有文件并列出其中的文件,而不是读取特定文件的内容。我只是尝试简单地创建一个FileSystemObject,它也没有做任何事情。我显示一个警告(弹出)beforfe制作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 个答案:

答案 0 :(得分:4)

我在Google搜索中找到的方法使用HTML5,因此如果您使用的是现代浏览器,那么您应该很好。此外,教程页面似乎还会检查您使用的浏览器是否支持这些功能。如果是这样,你应该很好地遵循看起来非常彻底的教程。

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

答案 1 :(得分:4)

此解决方案仅适用于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" />