【问题标题】:Reading uploaded text file contents in variable在变量中读取上传的文本文件内容
【发布时间】:2016-03-16 16:47:12
【问题描述】:

我想从文本文件中读取字符串并将其保存在变量中。我做了什么: 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);
            };
        }

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

【问题讨论】:

    标签: javascript html file input


    【解决方案1】:

    查看您第一次尝试的代码:

    newString=reader.result;  //SAVE RESULT 
    alert(newString);
    reader.readAsText(file);    
    
    1. 得到结果
    2. 提醒它
    3. 做产生结果的事情

    您必须先阅读该文件,然后才能查看通过阅读获得的文本!

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


    现在看看你的第二次尝试。你从不打电话给rdfile,你从不打电话给readAsText

    【讨论】:

      猜你喜欢
      • 2015-10-23
      • 1970-01-01
      • 1970-01-01
      • 2016-09-26
      • 1970-01-01
      • 2016-07-18
      • 2023-03-17
      相关资源
      最近更新 更多