fileReader对象读取txt文件乱码问题 以及如何获取文件的url路径(绝对路径)
<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; },