前端Ajax实现预览TXT文档(兼容UTF |
您所在的位置:网站首页 › 前端预览txt文件 › 前端Ajax实现预览TXT文档(兼容UTF |
最近在做文档的预览问题,在做txt的时候,原本是用HTML 标签,但是读取的时候乱码,经查找资料,知道了原来txt文档默认的是ANCII编码,解决办法如下; 一、将ANCII转Unicode,但是没有成功, //ASCII 转换 Unicode function AsciiToUnicode(content) { result = ''; for (var i=0; i var file = files[0]; var reader = new FileReader(); //new一个FileReader实例 if (/text+/.test(file.type)) { //判断文件类型,是不是text类型 reader.onload = function() { $('body').append('' + this.result + ''); } reader.readAsText(file, 'gb2312'); } else if (/image+/.test(file.type)) { //判断文件是不是imgage类型 reader.onload = function() { $('body').append('三、然后再查资料,查到ajax的时候,知道其可以对编码格式做设置,果断尝试,测试demo如下: Title function viewfile(){ var request=null; if(window.XMLHttpRequest){request=new XMLHttpRequest();}else if(window.ActiveXObject){request=new ActiveXObject("Microsoft.XMLHTTP");} if(request){ request.open("GET","/one/downloadFile.spe?dtype=PostgresXL&mode=html&fileid=2018171716930001001",true); request.overrideMimeType("text/html;charset=gb2312");//设定以gb2312编码识别数据 request.onreadystatechange=function(){ if(request.readyState===4){ if (request.status == 200 || request.status == 0){ //var reader = new FileReader(); alert(request.responseText); document.getElementById("vv").innerHTML=request.responseText; } } } request.send(null); }else{ alert("error"); } }结果截图: 将其运用到项目中时候,在ajax的URl传多个参数的时候,正确方式使用如下 url : "/one/downloadFile.spe?dtype=PostgresXL&mode=html&fileid="+fileId+"&fileName="+fileName 至此,这个问题算解决了, |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |