1、首先获取file对象。
typeScript+vue3的项目中使用过
function getFileFromUrl(url:any, fileName:any) {
return new Promise((resolve, reject) => {
var blob = null;
var xhr = new XMLHttpRequest();
xhr.open("GET", url);
xhr.setRequestHeader("Content-type", "text/plain;");
xhr.responseType = "blob";
// 加载时处理
xhr.onload = () => {
// 获取返回结果
blob = xhr.response;
let file= new File([blob], fileName, { type: 'text/plain' });
console.log('file:',file)
var reader = new FileReader();
var type = file.name.split('.')[1];
console.log('file:',file)
if(type=='txt'){
// result 属性中将包含一个字符串以表示所读取的文件内容。
reader.readAsText(file)
reader.onloadstart = function(){
console.log("onloadstart状态"+this.readyState)
}
reader.onloadend= function(){
console.log("onloadend状态"+this.readyState)
}
reader.onprogress = function(){
console.log("onprogress状态"+this.readyState)
}
reader.onload = function(){
content = this.result;
console.log("onload状态"+this.result)
}
reader.onerror = function(){
console.log('出错了')
}
reader.onerror = function(){
console.log('处理abort事件。该事件在读取操作被中断时触发。')
}
}
// 返回结果
resolve(file);
};
xhr.onerror = (e) => {
reject(e)
};
// 发送
xhr.send();
});
}