fileReader对象读取txt文件乱码问题 以及如何获取文件的url路径(绝对路径)

时间:2022-10-28 14:55:31
        <input type="file" @change="aaa($event)">
<div id="hi"></div>

以上是html(用的是vue,所以用@绑定的)

今天想用js读取txt文件,但是一直乱码,后来查到,把reader.readAsText(file,'gb2312')中的编码格式设置成gb2312就不乱码了

js:
       aaa(event){
var self=this,
files=event.target.files,
file,
htmlBox=document.getElementById("hi");
if(files&&files.length>0){
file=files[0];
console.log(file)
}
let reader=new FileReader(); reader.onload = function (e) {
       console.log(e.target.result);
htmlBox.innerHTML=e.target.result;
    }
// reader.readAsDataURL(file);
reader.readAsText(file,'gb2312')
}

如何获取文件的url路径

js

       getObjectURL(file) {//创建url路径
let url = null;
if (window.createObjectURL != undefined) {
// basic
url = window.createObjectURL(file);
} else if (window.URL != undefined) {
// mozilla(firefox)
url = window.URL.createObjectURL(file);
} else if (window.webkitURL != undefined) {
// webkit or chrome
url = window.webkitURL.createObjectURL(file);
}
return url;
},