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

问题描述 投票:0回答:1

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

我想使用 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>

那么我是否可以从“数据”中检索文件名? (不是通过使用正则表达式)

javascript jquery ajax file
1个回答
0
投票

您无法读取客户端计算机中的文件。您可以通过修改标志来访问它们以用于开发目的。关于这一点,请查看我的回答。之后继续执行以下代码。

两者都有效。

使用纯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>

© www.soinside.com 2019 - 2024. All rights reserved.