FileReader: sự kiện error
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Note: This feature is available in Web Workers.
Sự kiện error của giao diện FileReader được kích hoạt khi thao tác đọc thất bại do lỗi (ví dụ như tệp không tìm thấy hoặc không đọc được).
Sự kiện này không thể huỷ và không nổi bọt.
Cú pháp
Dùng tên sự kiện trong các phương thức như addEventListener(), hoặc đặt thuộc tính trình xử lý sự kiện.
addEventListener("error", (event) => { })
onerror = (event) => { }
Loại sự kiện
Một ProgressEvent. Kế thừa từ Event.
Thuộc tính sự kiện
Cũng kế thừa các thuộc tính từ sự kiện cha Event.
ProgressEvent.lengthComputableRead only-
Cờ boolean cho biết liệu tổng công việc cần thực hiện và lượng công việc đã làm bởi tiến trình bên dưới có thể tính toán được không.
ProgressEvent.loadedRead only-
Giá trị số nguyên 64-bit không dấu cho biết lượng công việc đã được thực hiện bởi tiến trình bên dưới. Tỷ lệ công việc hoàn thành có thể tính bằng cách chia
totalcho giá trị này. Khi tải tài nguyên qua HTTP, giá trị này chỉ tính phần thân của thông điệp HTTP, không tính tiêu đề và các phần mở rộng khác. ProgressEvent.totalRead only-
Giá trị số nguyên 64-bit không dấu đại diện cho tổng lượng công việc mà tiến trình bên dưới đang thực hiện. Khi tải tài nguyên qua HTTP, đây là
Content-Length(kích thước phần thân thông điệp), không tính tiêu đề và các phần mở rộng khác.
Ví dụ
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);
Thông số kỹ thuật
| Specification |
|---|
| File API> # dfn-error-event> |
| File API> # dfn-onerror> |