FileReader

FileReader

语法

  • var reader = new FileReader()

属性

  • FileReader.error 一个 DOMException ,表示在读取文件时发生的错误。
  • FileReader.readyState 表示 FileReader 状态的数字

    常量名描述
    EMPTY 0 还没加载任何数据
    LOADING 1 数据正在被加载
    DONE 2 已完成全部的读取请求
  • FileReader.result 文件的内容。该属性仅在读取操作完成后才有效,数据的格式取决于使用哪个方法来启动读取操作

事件处理

  • FileReader.onabort 处理 abort 事件。该事件在读取操作被中断时触发
  • FileReader.onerror 处理 error 事件。该事件在读取操作发生错误时触发
  • FileReader.onload 处理 load 事件。该事件在读取操作完成时触发
  • FileReader.onloadstart 处理 loadstart 事件。该事件在读取操作开始时触发
  • FileReader.onloadend 处理 loadend 事件。该事件在读取操作结束时(要么成功,要么失败)触发
  • FileReader.onprogress 处理 progress 事件。该事件在读取 Blob 时触发

因为 FileReader 继承自 EventTarget, 所以所有这些事件也可以通过 addEventListener 方法使用

方法

  • FileReader.abort() 中止读取操作。在返回时,readyState 属性为 DONE
  • FileReader.readAsArrayBuffer() 开始读取指定的 Blob 中的内容,一旦完成,result 属性中保存的将是被读取文件的 ArrayBuffer 数据对象
  • FileReader.readAsBinaryString() 开始读取指定的 Blob 中的内容,一旦完成,result 属性中将包含所读取文件的原始二进制数据
  • FileReader.readAsDataURL() 开始读取指定的 Blob 中的内容,一旦完成,result 属性中将包含一个 data: URL 格式的字符串以表示所读取文件的内容
  • FileReader.readAsText() 开始读取指定的 Blob 中的内容,一旦完成,result 属性中将包含一个字符串以表示所读取的文件内容

属性

error

FileReader.error 会返回一个 DOMError 对象

onload

  • 当 FileReader 读取文件的方式为 readAsArrayBuffer, readAsBinaryString, readAsDataURL 或者 readAsText 的时候,会触发一个 load 事件。从而可以使用 FileReader.onload 属性对该事件进行处理
  • // 一个文件上传的回调 <input type="file" onchange="onChange(event)">
  • function onChange(event) {
  •   var file = event.target.files[0];
  •   var reader = new FileReader();
  •   reader.onload = function(event) {
  •     // 文件里的文本会在这里被打印出来
  •     console.log(event.target.result)
  •   };
  •   reader.readAsText(file);
  • }

readyState

  • 提供 FileReader 读取操作时的当前状态
  • var state = instanceOfFileReader.readyState
  • 一个数字,用来表示 FileReader API的三种可能状态

result

  • 返回文件的内容。只有在读取操作完成后,此属性才有效,返回的数据的格式取决于是使用哪种读取方法来执行读取操作的
  • var file = instanceOfFileReader.result
  • 一个字符串或者一个 ArrayBuffer,这个取决于读取操作是使用哪种方法来进行的
原文地址:https://www.cnblogs.com/webBlog-gqs/p/9921502.html