0

我是初学者!我需要离线读取本地文件夹中txt文件中的数据。我知道文件夹路径,但我不知道每个文件的名称。

C:\mypath\first.txt
C:\mypath\second.txt
C:\mypath\third.txt
...

现在要读取单个文件,我使用:

$.ajax({url:"C:\mypath\first.txt",
success:function(result){

//...code for storing the data in a variable...

}
});

如何在不知道他们的名字的情况下一次读取多个文件?就像是:

$.ajax({url:"C:\mypath\*.txt",
success:function(result){


//...code for storing the data in a variable...

}
});

感谢您的任何帮助!

4

1 回答 1

2

您可以在支持的浏览器中使用文件选择器控件(即<input type="file" multiple />)并让用户选择要迭代的文件集。用户输入是获取文件列表的唯一方法——你不能只是通过互联网在用户的文件系统中胡闹。您可以了解用户系统的所有信息都是用户告诉您的(例如,通过<input type="file" multiple />)。

即便如此,您也无法通过简单的 Ajax 请求来读取文件。同源策略适用于本地文件。如果你在自己的机器上测试它可能会起作用,但是一旦它进入网络,它就会失败。

在没有用户交互的情况下查看客户端文件系统的唯一方法是Scripting.FileSystemObject在非基于 Internet 的HTML 应用程序.hta文件)中的 Windows 上使用 ActiveXControl。因此,由于您不想使用 ActiveXControls,因此用户输入是您唯一的选择。

编辑:如果您正在创建 FireFox 附加组件,您可以访问文件系统。有关详细信息,请参阅mozilla.org上的文档。

于 2012-10-17T00:24:12.347 回答