feat:提交
This commit is contained in:
119
tests/dev1/dataHandle/common/base/TextFile.ts
Normal file
119
tests/dev1/dataHandle/common/base/TextFile.ts
Normal file
@@ -0,0 +1,119 @@
|
||||
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)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user