我为自己开发了一个脚本,可以使用带有filereader api的最新Chrome或Firefox浏览器在我的计算机上阅读和处理本地文本和csv文件。该脚本将在计算机上运行,即使它未连接到Internet或本地Web服务器。
这背后的原因是有一个独立的文本文件询问器,几乎可以在任何计算机上工作,只需要一个浏览器来执行和显示合理格式的输出。类似于awk
类型的应用程序。
我使用filereader api,效果很好。
我没有正确理解浏览器的工作原理,所以我的问题可能非常愚蠢。
我的脚本是否有可能以某种方式将文件名传递给脚本filereader api,而无需从input type=file
字段中选择文件。
例如,我有一个名为addresses.csv的文件,它与我的带有filereader api代码的html / js文件位于同一目录中。
我想模拟文件的选择,无需访问我的本地目录,也不使用网络服务器,但预定义文件名的下拉框会更好。
答案 0 :(得分:3)
不,出于安全原因,这是不可能的,因为否则人们可以在他们的访问者的计算机上打开任意文件,这绝对不是意图。
此规范还假定主要用户交互是使用HTML表单[HTML]的元素,并且FileReader对象正在读取的所有文件都是由用户首先选择的。
答案 1 :(得分:1)
不,你不能。如果没有使用文件输入或拖放文件(html5),Javascript无法读取您的本地文件系统,因为它很容易被恶意使用。
Chrome已包含filesystem api的开头。但是您无法读取/写入文件系统上任何您想要的位置,只能对文件系统上的沙盒区域执行此操作。他们会在未来版本的Chrome中继续使用它,虽然我不知道。