先上代码:
<input type="file" id="input">
<span id="preview"></span>\
(function(){
var input = document.querySelector('#input');
var span = document.querySelector('#preview');
input.addEventListener('change', function(e){
handFile(e.target.files[0]);
});
function handFile(file){
console.log('hand',file);
var reader = new FileReader();
reader.onload = function(e){
span.innerText = e.target.result;
console.log(e.target.result)
};
reader.readAsText(file);
}
})();
以上代码即可将保存为utf-8格式的txt文件读取到span标签中
但是用户上传txt文件时,一般不会刻意将文件转换成utf-8格式,所以读取出来的文件会出现英文和数字显示良好,中文显示乱码的现象,此时就可以改变代码中读取的编码格式,让中文能正常显示出来,即向函数中传递第二个参数encoding
reader.readAsText(file,'gb2312')
此时显示就正常了
网友评论