Javascript filereader onload(从服务器获取文件)

时间:2016-09-23 13:44:56

标签: javascript html file path filereader

我想要的是从Windows文件系统或服务器读取文件,以便我可以在网站上显示内容,我们不允许使用数据库或仅使用PHP的Javascript。

我目前拥有的是它,如果我从html文件上传框中获取文件,它的工作原理我唯一需要的是如何在javascript中获取文件而不是手动插入文件而是加载到pageload上。< / p>

如果我手动插入文件,其余代码都可以工作我只需要获取一个文件并将其插入到var file =;

var file = // How do I get file from windows system / or server is also a possibility

var reader = new FileReader();
reader.onload = function(progressEvent){
// Entire file
console.log(this.result);

// By lines
var lines = this.result.split('\n');
for(var line = 0; line < lines.length; line++){
  console.log(lines[line]);
  }
};
reader.readAsText(file);

2 个答案:

答案 0 :(得分:1)

I got it to work


 var file = readTextFile("test.txt");
 var allText;
 var trumpCount = 0;
 var hilaryCount = 0;
 var reader = new FileReader();
// Entire file
console.log(this.result);
 // alert(allText);
// By lines
var lines = allText.split('\n');
for(var line = 0; line < lines.length; line++){
 // alert(lines[line]);
  if (lines[line].indexOf("t") !== -1){
    trumpCount++;
  }else{
  hilaryCount++;
  }

}
alert("Votes for trump: " + trumpCount +  " Votes for hilary: " + hilaryCount + " Total votes: " + (trumpCount + hilaryCount))

function readTextFile(file)
{
var rawFile = new XMLHttpRequest();
rawFile.open("GET", file, false);
rawFile.onreadystatechange = function ()
{
    if(rawFile.readyState === 4)
    {
        if(rawFile.status === 200 || rawFile.status == 0)
        {
           allText = rawFile.responseText;
            //alert(allText);
        }
    }
}
rawFile.send(null);
}

答案 1 :(得分:0)

出于安全原因,您不得这样做。

  

文件对象可以从作为用户使用输入元素,拖放操作的DataTransfer对象或HTMLCanvasElement上的mozGetAsFile()API选择文件而返回的FileList对象获得。

https://developer.mozilla.org/nl/docs/Web/API/FileReader