使用jQuery获取给定目录中的文件名

时间:2018-02-06 05:58:21

标签: javascript jquery ajax file

(我发现了一些类似的问题,但没有一个问题解决了我的问题所以我认为这不是一个重复的问题)

我想使用jQuery在我的一个文件夹中检索文件名。我尝试了以下方法,但我仍然无法获得每个文件名。

$.get(".", function(data) {
    $("#divID").append(data);
});

但我注意到了数据的类型'是字符串,它包含文件名,如下所示:

<script>addRow("filename.csv","filename.csv",0,238618,"233 kB",1512119177,"12/1/17, 5:06:17 PM");</script>

无论如何,我可以从&#39;数据&#39;中检索文件名。 (不是使用正则表达式)

1 个答案:

答案 0 :(得分:0)

您无法读取客户端计算机中的文件。您可以通过修改标志来访问它们以进行开发。关于此,请查看my answer。在此之后继续下面的代码。

两者都有效。

使用 PURE JAVASCRIPT

var filenames=[], foldernames=[];
var url = "file:///Users/Default/Downloads";
var req = new XMLHttpRequest();
req.open("GET",url,true);
req.onreadystatechange=function(){
    if(req.readyState === 4)
    {
        document.write(req.responseText);
        getNames();
    }
};
req.send();

function getNames()
{
    var files = document.querySelectorAll("a.icon.file");
    var folders = document.querySelectorAll("a.icon.dir");
    files.forEach(function(item){filenames.push(item.textContent)})
    folders.forEach(function(item){foldernames.push(item.textContent.slice(0,-1))})
    console.log(filenames);
    console.log(foldernames);
}

使用 JQUERY

var filenames=[], foldernames=[];

$.get("file:///Users/Default/Downloads",function(response){
    document.write(response);
    getNames();
});

function getNames()
{
    var files = document.querySelectorAll("a.icon.file");
    var folders = document.querySelectorAll("a.icon.dir");
    files.forEach(function(item){filenames.push(item.textContent)})
    folders.forEach(function(item){foldernames.push(item.textContent.slice(0,-1))})
    console.log(filenames);
    console.log(foldernames);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>