Trình đọc tệp JavaScript

Mục lục

  1. Trình đọc tệp
  2. Ví dụ với FileReader

  • Hướng dẫn về ECMAScript, Javascript

Hướng dẫn Javascript FileReader với các ví dụ

Xem thêm Hướng dẫn

  • Hướng dẫn về ECMAScript, Javascript

  1. Trình đọc tệp
  2. Ví dụ với FileReader

Trình đọc tệp JavaScript

Các trang web học ngoại ngữ miễn phí

  • Tiếng Anh
  • Tiếng Việt
  • Những ngôn ngữ khác

Trình đọc tệp JavaScript
Theo dõi fanpage của chúng tôi để nhận thông báo mỗi khi có bài viết mới.
Trình đọc tệp JavaScript
Facebook
Trình đọc tệp JavaScript
Twitter

1- Trình đọc tệp

Interface FileReader in Javascript is designed to read data sources on users' computers. Note: In fact, Javascript can read only resources on the user's computer if the user has actions to allow, for example, the user clicks the element to select the file on the computer, or drag and drop the files into the browser. 

FileReader có thể đọc các đối tượng File, Blob hoặc DataTransfer (Đối tượng này có được khi người dùng đánh thuốc và thả tệp vào trình duyệt)

API của FileReader được thiết kế với mục đích chính giống như XMLHttpRequest vì cả hai đều có mục tiêu như tải tài nguyên bên ngoài. Dữ liệu được đọc  không đồng bộ để tránh chặn trình duyệt trong khi quá trình đang được thực hiện

Người xây dựng


// Create a FileReader object:

var fileReader = new FileReader();

Tính chất

Mô tả thuộc tính lỗi đối tượng DOMException mô tả lỗi xảy ra trong quá trình đọc nguồn dữ liệu. readyStateMột số mô tả trạng thái của FileReader. Các giá trị có thể là. 0, 1, 2. kết quảNội dung của nguồn dữ liệu sau khi đọc thành công. Định dạng của nó phụ thuộc vào phương thức nào được sử dụng khi bắt đầu đọc.  

Các giá trị có thể có của fileReader. trạng thái sẵn sàng

Trình đọc tệp. EMPTY0Chưa có dữ liệu nào được tải. Trình đọc tệp. LOADING1Dữ liệu hiện đang được tải. Trình đọc tệp. DONE2Toàn bộ yêu cầu đọc đã được hoàn thành

phương pháp

PropertyDescriptionabort() Hủy bỏ thao tác đọc. Khi quay lại, readyState sẽ là FileReader. XONG. readAsArrayBuffer(blobOrFile)Bắt đầu đọc nội dung của blobOrFile, sau khi đọc xong, fileReader. kết quả sẽ là một đối tượng ArrayBuffer. readAsBinaryString(blobOrFile)Bắt đầu đọc nội dung của blobOrFile, sau khi đọc xong, fileReader. kết quả sẽ là Chuỗi nhị phân. readAsDataURL(blobOrFile)Bắt đầu đọc nội dung của blobOrFile, sau khi đọc xong, fileReader. kết quả sẽ là một URL đại diện cho dữ liệu của tệp. readAsText(blobOrFile[,encoding])Bắt đầu đọc nội dung của blobOrFile, sau khi đọc xong, fileReader. kết quả sẽ là một Chuỗi

  • Bộ đệm mảng (API)
  • Đốm màu (API)
  • Tệp (API)

Sự kiện

Trong khi tải nguồn dữ liệu bằng FileReader, các sự kiện được mô tả trong ProgressEvent sẽ được kích hoạt, cụ thể là.   

EventDescriptionloadstartCho biết quá trình tải dữ liệu đã bắt đầu. Sự kiện này luôn cháy đầu tiên. ProgressEvent kích hoạt nhiều lần khi dữ liệu đang được tải, cấp quyền truy cập vào dữ liệu trung gian. errorEvent kích hoạt khi tải không thành công. abortEvent kích hoạt khi quá trình tải dữ liệu bị hủy bằng cách gọi phương thức abort() (Phương thức có sẵn trên cả XMLHttpRequest & FileReader). loadEvent chỉ kích hoạt khi tất cả dữ liệu đã được đọc thành công. loadendEvent kích hoạt khi đối tượng truyền dữ liệu xong. Luôn kích hoạt sau khi xảy ra lỗi, hủy bỏ hoặc tải

  • Liên kết TODO?

Trình xử lý sự kiện

HandlerDescriptiononloadstart(progressEvt)Trình xử lý cho sự kiện loadstart. onprogress(progressEvt) Trình xử lý cho sự kiện tiến trình. onerror(progressEvt)Trình xử lý sự kiện lỗi. onabort(progressEvt)Trình xử lý sự kiện hủy bỏ. onload(progressEvt)Trình xử lý sự kiện tải. onloadend(progressEvt)Trình xử lý sự kiện loadend

Các bước làm việc với FileReader

Trình đọc tệp JavaScript

2- Ví dụ với FileReader

In this example, users drag and drop a file into a

 element. FileReader will be used to read the basic information and contents of the file dropped by the user.

  • Tệp (API)

Trình đọc tệp JavaScript

trình đọc tệp-thả-ví dụ. html






    FileReader Example
    

    

    





    

FileReader example

Reset
Drop one file here

trình đọc tệp-thả-ví dụ. js


function dropHandler(evt) {
    evt.stopPropagation();
    evt.preventDefault();

    // FileList object.
    var files = evt.dataTransfer.files;

    if (files.length != 1) {
        resetLog();
        appendLog("Please drag and drop 1 file!");
        return;
    }
    var file = files[0];

    var fileReader = new FileReader();

    fileReader.onloadstart = function(progressEvent) {
        resetLog();
        appendLog("onloadstart!");
        var msg = "File Name: " + file.name + "
" + "File Size: " + file.size + "
" + "File Type: " + file.type; appendLog(msg); } fileReader.onload = function(progressEvent) { appendLog("onload!"); var stringData = fileReader.result; appendLog(" ---------------- File Content ----------------: "); appendLog(stringData); } fileReader.onloadend = function(progressEvent) { appendLog("onloadend!"); // FileReader.EMPTY, FileReader.LOADING, FileReader.DONE appendLog("readyState = " + fileReader.readyState); } fileReader.onerror = function(progressEvent) { appendLog("onerror!"); appendLog("Has Error!"); } // Read file asynchronously. fileReader.readAsText(file, "UTF-8"); // fileReader.result -> String. } function dragoverHandler(evt) { evt.stopPropagation(); evt.preventDefault(); // Explicitly show this is a copy. evt.dataTransfer.dropEffect = 'copy'; } function resetLog() { document.getElementById('log-div').innerHTML = ""; } function appendLog(msg) { document.getElementById('log-div').innerHTML += "
" + msg; }

-

For example, users choose a file through the  element. Use FileReader to read the basic information and contents of the file  just selected by the user. 

Trình đọc tệp JavaScript

filereader-input-ví dụ. html






    FileReader Example
    

    





    

FileReader example

Reset



filereader-input-ví dụ. js


function changeHandler(evt) {
    evt.stopPropagation();
    evt.preventDefault();

    // FileList object.
    var files = evt.target.files;

    var file = files[0];

    var fileReader = new FileReader();

    fileReader.onloadstart = function(progressEvent) {
        resetLog();
        appendLog("onloadstart!");
        var msg = "File Name: " + file.name + "
" + "File Size: " + file.size + "
" + "File Type: " + file.type; appendLog(msg); } fileReader.onload = function(progressEvent) { appendLog("onload!"); var stringData = fileReader.result; appendLog(" ---------------- File Content ----------------: "); appendLog(stringData); } fileReader.onloadend = function(progressEvent) { appendLog("onloadend!"); // FileReader.EMPTY, FileReader.LOADING, FileReader.DONE appendLog("readyState = " + fileReader.readyState); } fileReader.onerror = function(progressEvent) { appendLog("onerror!"); appendLog("Has Error!"); } // Read file asynchronously. fileReader.readAsText(file, "UTF-8"); // fileReader.result -> String. } function resetLog() { document.getElementById('log-div').innerHTML = ""; } function appendLog(msg) { document.getElementById('log-div').innerHTML += "
" + msg; }

-

Nếu bạn sử dụng trình đọc tệp. readAsDataURL(blobOrFile), khi kết thúc, fileReader. ví dụ: kết quả sẽ trả về một URL đại diện cho dữ liệu đã đọc



data:application/x-msdownload;base64,TVqQAA.....ACAEA

data:image/png;base64,iVBORw...eYm57Ad6m6uHj96j

Ví dụ. Người dùng chọn một tệp ảnh trên máy tính và sử dụng filerReader. readAsDataURL(file) để đọc tệp vừa được người dùng chọn. Trình đọc tệp. kết quả sẽ trả về một URL. Đặt URL này cho thuộc tính src của phần tử để hiển thị ảnh trên trình duyệt.

Trình đọc tệp JavaScript là gì?

Đối tượng FileReader cho phép ứng dụng web đọc không đồng bộ nội dung của tệp (hoặc bộ đệm dữ liệu thô) được lưu trữ trên máy tính của người dùng , sử dụng Tệp hoặc .

Làm cách nào để đọc nội dung tệp trong JavaScript?

readAsText() để đọc cục bộ. .
readAsArrayBuffer(). Đọc nội dung của tệp đầu vào được chỉ định. .
readAsBinaryString(). Đọc nội dung của tệp đầu vào được chỉ định. .
readAsDataURL(). Đọc nội dung của tệp đầu vào được chỉ định

Làm cách nào để mở tệp bằng JavaScript?

Cách mở tệp trong Javascript .
Nhấp chuột phải vào tệp HTML bạn muốn sử dụng để mở tệp. Nhấp vào "Mở bằng", sau đó nhấp đúp vào trình chỉnh sửa JavaScript ưa thích. .
Tạo hàm JavaScript. .
Thêm chức năng vào nút "Browse" trên trang Web. .
Lưu tệp và mở tệp trong trình duyệt Web mặc định của bạn

Làm cách nào để đọc đối tượng tệp trong JavaScript?

Các phương thức chính. .
readAsArrayBuffer(blob) – đọc dữ liệu ở định dạng nhị phân ArrayBuffer
readAsText(blob, [encoding]) – đọc dữ liệu dưới dạng chuỗi văn bản với mã hóa đã cho ( utf-8 theo mặc định)
readAsDataURL(blob) – đọc dữ liệu nhị phân và mã hóa nó dưới dạng url dữ liệu base64
abort() – hủy thao tác