繁体   English   中英

从Java本地目录中读取文件

[英]Read file from local directory in Javascript

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

  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文件的内容。

我用Google搜索了很多但没有成功,欢迎您提供任何帮助。

如果我错了,请有人纠正我,但据我所知,出于安全考虑,这在JavaScript中是不可能的。

如果是这样,则网页可能会在未经您同意或不知情的情况下在文件系统上捕获任何文件。 这是一个主要的安全问题,所以我认为这是不可能的。

必须为用户提供从其文件系统中有意选择文件的选项。

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

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

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

--allow-file-access-from-files

到目标字段。

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

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

无法访问用户文件系统。

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

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

关于FileSystem API的教程: http : //www.html5rocks.com/en/tutorials/file/filesystem/

有关File API的教程: http//www.sitepoint.com/html5-file-drag-and-drop/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM