2017-06-26 25 views
9

Tôi muốn người dùng tải lên tệp .csv và sau đó để trình duyệt có thể phân tích cú pháp dữ liệu từ tệp đó. Tôi đang sử dụng ReactJS. Làm thế nào điều này sẽ làm việc? Cảm ơn.Cách tải lên và đọc tệp CSV trong React.js?

+0

bạn đã thử gì? – CharanRoot

+0

@Jonnysai có một số gói đọc tệp với ReactJS, nhưng không có gói nào trong số đó dường như xử lý tệp CSV. – user2593758

+0

Bạn có thể xây dựng? "Phân tích cú pháp" .csv có thể có nghĩa là rất nhiều thứ. Dữ liệu từ .csv có được định dạng và hiển thị bằng cách nào đó không? –

Trả lời

10

Đã tìm ra. Kết hợp react-file-reader và Trình đọc tệp tin của HTML5 (xem trang this).

Đặt bit phản ứng-file-reader bên trong render:

<ReactFileReader handleFiles={this.handleFiles} fileTypes={'.csv'}> 
    <button className='btn'>Upload</button> 
</ReactFileReader> 

Và rồi này ở trên.

handleFiles = files => { 
    var reader = new FileReader(); 
    reader.onload = function(e) { 
    // Use reader.result 
    alert(reader.result) 
    } 
    reader.readAsText(files[0]); 
} 
+0

Tôi đã thử làm điều đó và tôi nhận được lỗi này: TypeError: reader.readAsText không phải là một hàm. Có lời khuyên nào không? – 39fredy

+0

@ 39fredy Đảm bảo rằng bạn đang sử dụng readAsText trên đối tượng tệp (trong trường hợp này, các tệp [0] là một đối tượng tệp). bạn có nhiều mã hơn không? – user2593758

+1

Đối với một số lý do FileReader không hoạt động, sau khi một số tìm kiếm tôi đã phải sử dụng window.FileReader và đã làm các trick. – 39fredy

Các vấn đề liên quan