检索以前获得的文本的内容

时间:2017-06-30 03:12:17

标签: javascript

这是前一篇文章(已解决)的后续内容。在上一篇文章中,我们加载了一个分隔的文本文件,然后对该文件的内容采取了操作。但我们所做的是在一个平稳的事件进展中。在我的实际实现中,事件将单独发生。首先,将使用FileReader API加载制表符分隔的文本文件,并显示在页面上。很久以后,一个函数需要检索已加载的内容并用它来处理。我以为我可以毫不费力地分开任务,但我错了。我不知道自己做错了什么,或者我是不是以错误的方式去做。我很欣赏一些意见。

注意:我不一定要直接使用pre-tag" fileDisplayArea"中的信息。我只是觉得这样做很容易。我可以使用存储在内存中的字符串,如果更好的话。字符串不应超过6或7 Mb。

我需要做什么,所以稍后我可以使用加载的字符串并放在" fileDisplayArea"?

提前致谢, 安德鲁



    var fileInput = document.getElementById('fileInput');
    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) {
                // Entire file
                fileDisplayArea.innerText = reader.result;
            }
            reader.readAsText(file);
        } else {
            fileDisplayArea.innerText = "File not supported!"
        }
    });

    // doIt functionality
    document.getElementById("doIt").addEventListener("click", function () {
        var myTemp = document.getElementById("fileDisplayArea");
        console.log(myTemp);
        // trying to retreive original reader.result contents so I can do stuff with it
        // i thought it would be as simple as using getElementByID, but i'm obviously wrong
    }, false);

<br />
Step 1:<br />
Select a text file:
<input type="file" id="fileInput">
<hr />
Step 2:<br />
Retreive the contents previously loaded.  (Normally 'doIt' would be called from another function, not a button.)
<button id="doIt">doIt</button>
<hr />
<pre id="fileDisplayArea"></pre>
&#13;
&#13;
&#13;

0 个答案:

没有答案