从服务器读取JavaScript中的文本文件

时间:2017-02-21 18:33:39

标签: javascript jquery html ajax html5

我有一个m3u文件,我想从中提取信息。我可以读作文本文件吗? 知道如何逐行读取JavaScript或HTML中部署在服务器中的文本文件或m3u并从中获取信息吗?

2 个答案:

答案 0 :(得分:0)

我建议使用jQuery。

如果您尝试逐行读取文件,请使用:

@SuppressWarnings("unused")

参数数据是结果文件信息。即使您只是尝试逐字节获取数据,这也可以正常工作。我对.m3u文件并不是很熟悉,但这个建议应该有所帮助。

答案 1 :(得分:0)

我使用Javascript创建了一个基本示例,从我在上面的注释中链接的示例开始。只需使用FileReader读入文本文件,然后在onload函数中创建一个循环,您可以在其中解析所需的记录。我使用示例6将我的文件规范基于维基百科。

结果:https://jsfiddle.net/1sce9mv6/6/

Javascript:

   document.getElementById('file').onchange = function() {

   var file = this.files[0];

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

     // By lines
     var lines = this.result.split('\n');

     console.log('File read.');

     //Check if this is an m3u file
     if (lines[0].includes("#EXTM3U")) {
       console.log("File header found!");

       //Go through each line
       for (var line = 1; line < lines.length; line++) {

         //Process line
         if (lines[line].includes("#EXTINF")) {

           //print full line
           console.log(lines[line]);

           //split each line into the elements
           var currentLine = lines[line].substring(7).split(',');
           console.log("Runtime: " + currentLine[0]);
           console.log("Song:" + currentLine[1]);
         } else {
           continue;
         }
       }
     } else {
       console.log(lines[0]);
       console.log("Not m3u file...");
     }
   };
   reader.readAsText(file);
 };

HTML:

<input type="file" name="file" id="file">

参考文献: