【问题标题】:read the content from text file using java script使用 javascript 从文本文件中读取内容
【发布时间】:2012-12-31 13:59:06
【问题描述】:

我正在尝试使用 javascript 读取文本文件并在 html 文件中显示内容。 它的工作原理是我创建了浏览按钮来选择文本文件,但我想从固定路径文件中读取内容。在这个程序中,我不想使用文件路径,而是从路径中读取文件,例如 -D:/new文件夹/abc.text

我正在使用以下代码。

 <html>
 <input type="file" id="fileinput"/>
 <script type="text/javascript">
 function readSingleFile(evt) {
 var f = evt.target.files[0]; 
 if (f) {
 var r = new FileReader();
 r.onload = function(e) { 
 var contents = e.target.result;
 document.write("the contents of the file are<br>");
 document.write(contents);
  }
   r.readAsText(f);
  } else { 
   alert("Failed to load file");
  }
 }
  document.getElementById('fileinput').addEventListener('change',readSingleFile,false);
  </script>
   </html>

【问题讨论】:

    标签: javascript html javascript-events


    【解决方案1】:

    ...但我想从固定路径读取内容

    您不能,不是在网络浏览器上,使用标准并访问本地文件系统。允许浏览器读取用户专门为页面识别的文件与允许浏览器读取它想要的任何文件之间存在巨大差异。如果不使用 ActiveX、Flash、已签名 Java 小程序等机制(这将触发安全性),您根本无法执行后者。 File API 需要一个文件 input 元素作为起点是有原因的。

    【讨论】:

    • 脚本肯定会在用户允许后执行,那么这里的安全问题是什么,我只需要从固定路径读取文件,我不需要其他任何东西。
    • @user1868052:正如我所说,我认为目前的文件 API 没有任何方法可以做到这一点。已签名的 Java 小程序可以访问本地文件系统(在用户同意的情况下),一个具有足够运行时权限的 Silverlight 控件(同样是每个用户),但文件 API 中的起点是input[type=file]。请注意,他们已经更新了the specification,因为我上次真的很好看。不过刚才看了一眼,好像还是依赖那个input
    • 在 ActiveXObject 的帮助下是不可能的。有没有可能我可以在 htmlcode 中修复文件的路径
    • @user1868052:再次:。我想我很清楚这一点,在答案中,然后在上面的评论中。 (而且它可能在 IE 上使用 ActiveX,但显然这只是 IE。)
    猜你喜欢
    • 1970-01-01
    • 2010-12-13
    • 2011-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多