读取变量中上传的文本文件内容

时间:2015-12-10 21:40:09

标签: javascript html file input

我想从文本文件中读取字符串并将其保存在变量中。我做了什么: HTML:

<div>
        Select a text file: 
        <input type="file" id="fileInput">
    </div>
    <pre id="fileDisplayArea"><pre>

JS:

window.onload = function() {
    var fileInput = document.getElementById('fileInput');
    var fileDisplayArea = document.getElementById('fileDisplayArea');
    var newString;
    fileInput.addEventListener('change', function(e) {
        var file = fileInput.files[0];
        var textType = /text.*/;
        if (file.type.match(textType)) {
            var reader = new FileReader();

            reader.onload = function(e) {
                fileDisplayArea.innerText = reader.result;
            }
            newString=reader.result;  //SAVE RESULT 
            alert(newString);
            reader.readAsText(file);    
        } else {
            fileDisplayArea.innerText = "File not supported!"
        }
    });

}

我想保存文件中的文字并提醒它。但它不起作用。

我做到了:

var tfile;
        var reader = new FileReader();

        function rdfile(files)
        {
            tfile = files[0];
           reader.readAsText(tfile, 'CP1251');

            reader.onload = function(e)
            {
                str = e.target.result;
                alert(str);
            };
        }

但它也不起作用。我提醒许多不同的符号,但不是我的文字。

1 个答案:

答案 0 :(得分:1)

首次尝试时查看您的代码:

newString=reader.result;  //SAVE RESULT 
alert(newString);
reader.readAsText(file);    
  1. 获取结果
  2. 提醒
  3. 做生成结果的事情
  4. 您必须先阅读该文件,然后才能查看从阅读中获得的文字!

    将步骤1和2移至您已有的onload事件处理程序。

    现在看看你的第二次尝试。您永远不会致电rdfile而您永远不会致电readAsText