Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中从本地目录读取文件_Javascript_Jquery - Fatal编程技术网

在Javascript中从本地目录读取文件

在Javascript中从本地目录读取文件,javascript,jquery,Javascript,Jquery,我需要使用Javascript(或者使用JQuery,这无关紧要)从计算机硬盘驱动器中的特定路径读取文件。我一直在谷歌搜索,但我发现的东西并没有真正的帮助。最接近我的是: function readSingleFile(evt) { //Retrieve the first (and only!) File from the FileList object var f = evt.target.files[0]; if (f) { var r = ne

我需要使用Javascript(或者使用JQuery,这无关紧要)从计算机硬盘驱动器中的特定路径读取文件。我一直在谷歌搜索,但我发现的东西并没有真正的帮助。最接近我的是:

  function readSingleFile(evt) {
    //Retrieve the first (and only!) File from the FileList object
    var f = evt.target.files[0]; 

    if (f) {
      var r = new FileReader();
      r.onload = function(e) { 
          var contents = e.target.result;
        alert( "Got the file.\n" 
              +"name: " + f.name + "\n"
              +"type: " + f.type + "\n"
              +"size: " + f.size + " bytes \n"
              + "starts with: " + contents.substr(1, contents.indexOf("\n"))
        );  
      }
      r.readAsText(f);
    } else { 
      alert("Failed to load file");
    }
  }

  document.getElementById('fileinput').addEventListener('change', readSingleFile, false);
它允许使用文件选择器选择文件,然后显示文件的内容。我需要做一个程序,读取一个文件,其中明确给出了位置,例如c:\files\test.txt,它会打印test.txt文件的内容


我在谷歌上搜索了很多次都没有成功,欢迎提供任何帮助。

如果我错了,有人会纠正我,但据我所知,由于安全问题,在JavaScript中这是不可能的

如果是的话,网页可以在您不同意或不知情的情况下抓取文件系统中的任何文件。这是一个主要的安全问题,所以我不相信这是可能的


必须为用户提供在知情的情况下从其文件系统中选择文件的选项。

出于安全原因,这实际上是不可能的,也不建议这样做

如果这仅用于您的个人计算机或出于测试原因,您可以为浏览器添加允许文件访问的选项,但如果您正在浏览其他网站,这显然是一个安全问题

假设您使用的是Chrome,您可以为Chrome创建一个快捷方式并附加

--允许从文件访问文件

到目标字段

然后,您必须启动该快捷方式,并从该浏览器实例打开html


理想情况下,您应该托管文件服务器端,或者具有文件选择选项。

无法访问用户文件系统

然而,通过文件系统API,您可以获得一个临时或持久的私有文件系统,在这里您可以为应用程序存储内容(例如缓存的图像)。然后,您可以将此API与文件API相结合,以允许用户将文件从用户文件拖放到应用程序中

根据您的应用程序,这可能令人满意,也可能不令人满意

关于文件系统API的教程:

有关文件API的教程:

为什么你认为浏览器应该允许你访问我的硬盘文件?!看起来你在操作附在表单上的文件objset,JS无法在文件系统上获取平面文件,你需要一个节点。我只需要一个非常小的应用程序来读取一些文件和显示数据,所以我想让它成为web,但没有web服务器来避免复杂化,这就是为什么我考虑使用Javascript。所以这是不可能的?访问该文件的唯一方法是用户手动选择它。感谢快速响应,我将不得不找到另一种语言来完成任务。感谢回答,它似乎比我想象的更复杂,所以我要做的是使用另一种语言来完成这个小应用。感谢回答,看来这是正确的回答,我会用另一种语言来做这个应用程序,以避免出现问题。好吧,但这只在chrome中是可能的。谷歌网站目录