FileReader: 错误事件

注意: 此功能在 Web Workers 中可用。

error 事件在 FileReader 接口中触发,当读取由于错误而失败时(例如,因为文件未找到或不可读)。

此事件不可取消,也不冒泡。

语法

在像 addEventListener() 这样的方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("error", (event) => {});

onerror = (event) => {};

事件类型

事件属性

也继承了其父级 Event 的属性.

ProgressEvent.lengthComputable 只读

一个布尔标志,指示底层进程要执行的总工作量和已完成的工作量是否可计算。换句话说,它告诉进度是否可测量。

ProgressEvent.loaded 只读

一个 64 位无符号整数,指示底层进程已完成的工作量。已完成的工作量的比例可以通过将 total 除以此属性的值来计算。当使用 HTTP 下载资源时,这仅计入 HTTP 消息的主体,不包括标题和其他开销。

ProgressEvent.total 只读

一个 64 位无符号整数,表示底层进程正在执行的总工作量。当使用 HTTP 下载资源时,这是 Content-Length(消息主体的尺寸),不包括标题和其他开销。

示例

js
const fileInput = document.querySelector('input[type="file"]');
const reader = new FileReader();

function handleSelected(e) {
  const selectedFile = fileInput.files[0];
  if (selectedFile) {
    reader.addEventListener("error", () => {
      console.error(`Error occurred reading file: ${selectedFile.name}`);
    });

    reader.addEventListener("load", () => {
      console.log(`File: ${selectedFile.name} read successfully`);
    });

    reader.readAsDataURL(selectedFile);
  }
}

fileInput.addEventListener("change", handleSelected);

规范

规范
文件 API
# dfn-error-event
文件 API
# dfn-onerror

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参见