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

Javascript filereader onload ( get file from server )

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

我目前拥有的是下面这个,如果我从 html 文件上传框中获取文件,它就可以工作我唯一需要的是如何在 javascript 中获取文件而不用手动插入但要在页面加载时加载。

如果我手动插入文件,其余代码就可以工作,我只需要获取一个文件并将其插入 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);

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

File objects may be obtained from a FileList object returned as a result of a user selecting files using the input element, from a drag and drop operation's DataTransfer object, or from the mozGetAsFile() API on an HTMLCanvasElement.

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

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);
}