export class textFile { /**保存单文件 text类型的 */ static saveFile(filename: string, content: string) { let blob = new Blob([content], { type: "text/plain;charset=utf-8" }); this.saveAs(filename, blob); } /**读取文件 选择文件组件,读取文档处理函数 */ static readFile(eleFile, fn_doText, fileType = "", fn_msg = null) { let noEleFile = !(eleFile); if (noEleFile) { eleFile = document.createElement('input'); eleFile.type = 'file'; eleFile.accept = 'text/*'; eleFile.hidden = true; document.body.appendChild(eleFile); } if (fileType && fileType != "") eleFile.accept = fileType; let reader = new FileReader(); reader.onload = function (event) { let text = event.target["result"]; if (fn_doText) fn_doText(text); }; // 选择文件 eleFile.onchange = function (event) { let file = event.target.files[0]; if (file) { reader.readAsText(file); } if (fn_msg != null) { fn_msg(); } }; eleFile.click(); if (noEleFile) { document.body.removeChild(eleFile); } } static getStringFromFile(eleFile, fileType = "", fn_msg = null): string { let noEleFile = !(eleFile); if (noEleFile) { eleFile = document.createElement('input'); eleFile.type = 'file'; eleFile.accept = 'text/*'; eleFile.hidden = true; document.body.appendChild(eleFile); } if (fileType && fileType != "") eleFile.accept = fileType; let reader = new FileReader(); reader.onload = function (event) { let text = event.target["result"]; return text; }; // 选择文件 eleFile.onchange = function (event) { let file = event.target.files[0]; if (file) { reader.readAsText(file); } if (fn_msg != null) { fn_msg(); } }; eleFile.click(); if (noEleFile) { document.body.removeChild(eleFile); } return ''; } /**保存文件 */ static saveAs(fileName: string, data: Blob) { // 创建隐藏的可下载链接 let eleLink = document.createElement('a'); eleLink.download = fileName; eleLink.style.display = 'none'; eleLink.href = URL.createObjectURL(data); // 触发点击 document.body.appendChild(eleLink); eleLink.click(); // 然后移除 document.body.removeChild(eleLink); } static readFile2() { let rf = document.createElement('input'); rf.type = 'file'; rf.accept = 'text/*'; rf.hidden = true; document.body.removeChild(rf); } }