簡體   English   中英

使用Javascript在textarea中存儲文件內容

[英]file content in textarea using Javascript

我想使用javascript在textarea標簽中顯示本地文件的內容。 這樣做,我發現以下解決方法:

<textarea id="queryContent"></textarea>
    <input type="file" multiple id="queryInput">
    <script>
        var input = document.getElementById("queryInput");
        input.addEventListener("change", function () {
            Array.prototype.forEach.call(input.files, function (file) {
                var reader = new FileReader();
                reader.addEventListener("load", function () {
                    console.log("File", file.name, "starts with",
                        reader.result.slice(0,20));
                });
                reader.readAsText(file);
                document.getElementById("queryContent").innerText = reader.result.toString();
            });
        });
    </script> 

問題是我還不是Java專業人士。 我總是得到一個reader.result為null錯誤,我不知道為什么。 我感謝您的幫助!

這行:

document.getElementById("queryContent").innerText = reader.result.toString();

應該在回調內部發生。 當腳本運行此行時, FileReader尚未完成工作,因此reader.result很可能為null

請嘗試以下代碼:

var input = document.getElementById("queryInput");
input.addEventListener("change", function () {
    Array.prototype.forEach.call(input.files, function (file) {
        var reader = new FileReader();
        reader.addEventListener("load", function () {
            console.log("File", file.name, "starts with", reader.result.slice(0,20));
            document.getElementById("queryContent").innerText = reader.result.toString();
        });
        reader.readAsText(file);
    });
});

聚苯乙烯

我建議從輸入元素中刪除multiple ,除非有必要,以避免不必要的復雜性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM