• 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,这个取决于读取操作是使用哪种方法来进行的
  • 相关阅读:
    Vcenter虚拟化三部曲----SQL Server 2008 R2 数据库安装
    Vcenter虚拟化三部曲----VMWare ESXi 5.5安装及配置
    SaltStack 自动化工具
    KVM虚拟化
    redis单节点集群
    linux--yum源,源码包
    运维工程师常用命令(持续更新)
    TARS基金会:构建微服务开源生态
    TarsGo新版本发布,支持protobuf,zipkin和自定义插件
    .NET 发送电子邮件
  • 原文地址:https://www.cnblogs.com/webBlog-gqs/p/9921502.html
Copyright © 2020-2023  润新知