js如何获取txt文件的内容

198 阅读1分钟

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();
          });
      }