前端读取.txt文档内容实现
项目开发时遇到一个需求,需要读取客户存在.txt文档中的手机号批量发送短信。 有2种实现方式
1: 前端将.txt 文档上传到服务端 前端校验文建格式,服务器端解析文档,校验文档内容,取手机号发送短信。
2:前端解析.txt 文档 读取其中的内容 并校验文档中的内容是否合法,将通过校验后的数据 采用ajax的方式发送到给后台
根据网上的一些资料 写了一个测试前端解析的demo。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>前端解析.txt文档demo</title> </head> <body> <input type="file" id="fileSubmit" /> </body> <script> document.getElementById('fileSubmit').addEventListener('change',function(){ readFile(this,function(data){ console.log(data); },function(){ alert('解析文件出错'); }) }); function readFile(input,sc,ec) { //支持chrome IE10 if (window.FileReader) { var file = input.files[0]; filename = file.name.split(".")[0]; var reader = new FileReader(); reader.onload = function() { sc(this.result); }; reader.readAsText(file); } //支持IE 7 8 9 10 else if (typeof window.ActiveXObject != 'undefined'){ var xmlDoc; xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async = false; xmlDoc.load(input.value); sc(xmlDoc); } //支持FF else if (document.implementation && document.implementation.createDocument) { var xmlDoc; xmlDoc = document.implementation.createDocument("", "", null); xmlDoc.async = false; xmlDoc.load(input.value); sc(xmlDoc); } else { ec(); } } </script> </html>