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) } }