2017-02-21 5 views
-1

У меня есть файл m3u, который я хочу извлечь из него. могу ли я читать как текстовый файл? Любая идея, как читать текстовый файл или m3u, развернутый на сервере в JavaScript или HTML, за строкой и получать информацию от него?Прочитать текстовый файл в JavaScript с сервера

+0

Вы будете нуждаться в какой-то код на стороне сервера. На каком сервере он работает? –

+0

Вы хотите прочитать его на клиенте или сервере? Если клиент, вы можете использовать функцию получения jquery, чтобы загрузить ее, указав ее URL-адрес и разделив его. Если сервер, то нам нужно спросить, что вы используете в качестве бэкэнд. –

+0

Вы просто пытаетесь прочитать текстовый файл с помощью javascript? http://stackoverflow.com/questions/23331546/how-to-use-javascript-to-read-local-text-file-and-read-line-by-line – Emeria

ответ

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"> 

Ссылки:

+0

Большое вам спасибо, но как я могу обновить этот код, когда мой m3u-файл находится в сети, например: http://www.hello.com/*************.m3u –

+0

Вы спрашиваете, как скачивать файлы? Вы должны создать новый вопрос, если это то, что вы хотите. Также попробуйте привести примеры и то, что вы уже пробовали. Трудно понять, что вы просите. – Emeria

0

Я бы рекомендовал использовать jQuery для этого.

Если вы пытаетесь прочитать файл построчно используйте:

<script> 
    $.get("item.txt", function(data) { 

    }); 
</script> 

Если данные аргумент результирующую информацию файла. Даже если вы просто пытаетесь получить байт данных байтом, это будет работать нормально. Я не очень хорошо знаком с файлами .m3u, но этот совет должен помочь.