feat:提交
This commit is contained in:
122
tests/dev1/dataHandle/common/base/File.ts
Normal file
122
tests/dev1/dataHandle/common/base/File.ts
Normal file
@@ -0,0 +1,122 @@
|
||||
|
||||
|
||||
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