這個問題在這里已經有了答案: Javascript 在不使用輸入的情況下讀取檔案 3 個答案 43 分鐘前關閉。
我正在嘗試在 javascript 中加載簡單的文本檔案,不幸的是沒有成功。我的代碼是:
var my_text:any;
var my_file:File = new File([], "C:\\Users\\riki7\\Downloads\\classes.txt");
var reader = new FileReader();
reader.onload = function() {
my_text = reader.result;
};
reader.readAsText(my_file);
alert(my_text);
此代碼運行后,我希望在彈出警報中看到 classes.txt 檔案內容,而不是我得到“未定義”。我的檔案包含 a、b、c。
有誰知道我的問題是什么?也許 File() 建構式的第一個引數?
uj5u.com熱心網友回復:
您必須使用 html 標記<input type="file" id="input" />,然后在其上掛一個事件偵聽器,就像這樣
const inputElement = document.getElementById("input");
inputElement.addEventListener("change", handleFiles, false);
function handleFiles() {
const fileList = this.files; /* now you can work with the file list */
}
然后簡單地將您的檔案繞過到 FileReader
const reader = new FileReader();
reader.onload = (function(aImg) { return function(e) { aImg.src = e.target.result; }; })(img);
reader.readAsDataURL(file);
我想就是這樣。您可以在此處找到更多示例:https ://developer.mozilla.org/en-US/docs/Web/API/File_API/Using_files_from_web_applications
讓您的代碼在alert回呼函式之前運行。如果您需要查看內容的變化,只需將警報移動到回呼函式中:
reader.onload = function() {
my_text = reader.result;
alert(my_text);
};
因為my_text當你在外面打電話警報時還沒有準備好。
uj5u.com熱心網友回復:
<html>
<head>
<script>
var fileReadEvent = function(event) {
var input = event.target;
var reader = new FileReader();
reader.onload = function(){
var text = reader.result;
alert(text)
};
};
</script>
</head>
<body>
<input type='file' accept='text/plain' onchange='fileReadEvent(event)'><br>
</body>
</html>
uj5u.com熱心網友回復:
<input type="file" id="selectedFile">
<p id="display"></p>
<script>
var fr = new FileReader();
let test;
document.getElementById('selectedFile').addEventListener('change', x);
function x() {
fr.onload = ()=>{
document.getElementById('display').innerText = fr.result;
test = fr.result;
alert(fr.result);
}
fr.readAsText(this.files[0]);
}
</script>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/486540.html
標籤:javascript 文件 文件阅读器
下一篇:jsonapi決議物件
