2013-03-05 73 views
2

我想读取我的本地机器上的文本文件并将内容放入一个变量中。我找到的所有示例都使用了一个输入按钮(type =“file”),该按钮传递一个参数,该参数被函数获取为“evt”。我只是想通过一个文件名,如“mydata.txt”。如何使用HTML5的readAsText代替输入按钮的文件名字符串

我可以用ajax来做,但我想在没有XAMPP的情况下使用它。

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.getElementById('div1').innerHTML = contents; 
     } 
     r.readAsText(f); 
    } 
    else 
    {    
     alert("Failed to load file"); 
    } 
} 

回答

1

AJAX可以读取驻留在服务器文件。

出于安全原因,永远不可能读取客户端文件系统上的任意路径。
<input type="file" />允许用户选择文件,这就是为什么它是安全的。

+1

我有点困惑。我可以从我的本地机器加载脚本''。我可以把各种东西放在那里,比如文本文件的内容。除了按照我想要的方式格式化文本也是一件难事。 – wubbewubbewubbe 2013-03-05 19:45:30

+0

@wubbewubbewubbe:错了。这从服务器加载脚本。它发送一个HTTP请求到与该文件相同路径的服务器。 – SLaks 2013-03-05 19:55:02

+0

仍然困惑,因为它在没有运行XAMPP的本地机器上运行。 – wubbewubbewubbe 2013-03-05 20:04:04

相关问题