通过下列方法可取得 File 对象中的文本内容
注意,函数会返回一个 Promise 对象,需要 await,或者通 .then() 取得值
function getStrFromFile(oFile) {
if (!oFile.type.startsWith('text/')) return ''; // 非法文件排除
let resolveFn;
const oPromise = new Promise(resolve => resolveFn = resolve);
// ▼ new 一个 FileReader
// ▼ 然后监听 onload 事件,从中取得文本内容
const oReader = Object.assign(new FileReader(), {
onload() {
resolveFn(this.result);
},
});
oReader.readAsText(oFile);
return oPromise;
}
// ▼测试
getStrFromFile(oneFileObj).then(res=>{
console.log("文本内容\n", res);
});