Javascript FileReader readAsText在result属性中将文件内容存储为字符串,但当console.log记录此结果时,不会返回任何内容。
在HTML文件中,我创建了一个上载文件的按钮:Javascript FileReader readAsText在result属性中将文件内容存储为字符串,但当console.log记录此结果时,不会返回任何内容。,javascript,html,file,filereader,Javascript,Html,File,Filereader,在HTML文件中,我创建了一个上载文件的按钮: <span id='upload' class="btn btn-default btn-file">Upload<input type="file" id="input" onchange="this.files"></span> 手持文件功能: handleFiles: function() { var fileList = this.files; /* now you can work with t
<span id='upload' class="btn btn-default btn-file">Upload<input type="file" id="input" onchange="this.files"></span>
手持文件功能:
handleFiles: function() {
var fileList = this.files; /* now you can work with the file list */
console.log(fileList);
var file = fileList[0];
var fr = new FileReader();
fr.readAsText(file,"utf-8");
console.dir(fr);
}
在浏览器控制台中,它返回具有名为“result”的属性的filereader对象,该属性包含文件内容的文本。在控制台中,如下所示:
FileReader{}
error: null
onabort: null
onerror: null
onload: null
onloadend: null
onloadstart: null
onprogress: null
readyState: 2
result: "!Name: acorn↵!↵.O.....↵...O...↵OO..OOO↵"
__proto__: FileReader
但是,当我尝试执行console.log(fr.result)时,控制台没有返回任何内容。它没有抛出一个错误。我不确定这里出了什么问题。有什么方法可以从FileReader读取此结果吗?尝试替换
标签元素,包括for=“input”
属性为span
元素,调用onchange
事件input
元素的单个处理程序
var upload=document.getElementById(“upload”);
功能手柄(e){
var reader=new FileReader();
reader.onloadend=函数(e){
console.dir(e.target.result);
}
reader.readAsText(e.target.files[0])
}
upload.onchange=handleFiles代码>
标签输入{
可见性:隐藏;
}
Upload
尝试替换label
元素,包括for=“input”
属性对于span
元素,调用onchange
事件的单个处理程序
var upload=document.getElementById(“upload”);
功能手柄(e){
var reader=new FileReader();
reader.onloadend=函数(e){
console.dir(e.target.result);
}
reader.readAsText(e.target.files[0])
}
upload.onchange=handleFiles代码>
标签输入{
可见性:隐藏;
}
上传
FileReader{}
error: null
onabort: null
onerror: null
onload: null
onloadend: null
onloadstart: null
onprogress: null
readyState: 2
result: "!Name: acorn↵!↵.O.....↵...O...↵OO..OOO↵"
__proto__: FileReader