js file 相关操作
/** 下载文件
* @param {u} 文件路径
* @param {n} 文件名称及类型
*/
const down_file = (u,n) => {
const dom_a = document.createElement('a');
dom_a.setAttribute('href',u);
dom_a.setAttribute('download',n);
// dom_a.innerText = 'download'+n;
// document.body.appendChild(dom_a);
dom_a.click(); // Automatic download
}
/** 创建文件
* @param {c} 文件内容
* @param {t} 文件类型
* @return {u} 文件路径
*/
const createFile = (c,t) => {
const f = new Blob([c],{type:t});
const u = URL.createObjectURL(f);
return u
}
/** 获取文件内容
* @param {a} 要解析的文件
* @return {obj} 带有解析结果的promise对象
*/
const getFileCtn = (a) => {
if(!a) return;
return new Promise((resolve, reject)=>{
let fileReader = new FileReader();
fileReader.readAsText(a,'UTF-8');
fileReader.onload = async function (r) {
await resolve(r.target.result)
};
})
}
// eg: 创建一个html文件
const createHtml = (c) => {
const f = new Blob([`<!DOCTYPE html><head><title>【无标题】</title></head><body>${c}</body></html>`],{type:'plain/html'});
const u = URL.createObjectURL(f);
return u;
}