Hướng dẫn can javascript interact with local files? - javascript có thể tương tác với các tệp cục bộ không?
Như đã đề cập trước đây, API hệ thống tệp và tệp, cùng với API FileWriter, có thể được sử dụng để đọc và ghi các tệp từ ngữ cảnh của tab/cửa sổ trình duyệt sang máy khách. Show Có một số điều liên quan đến API FileSystem và FileWriter mà bạn nên biết, một số trong đó đã được đề cập, nhưng đáng để lặp lại:
Dưới đây là những ví dụ đơn giản về cách sử dụng API, trực tiếp và gián tiếp, song song để làm những điều này: BakedGoods* Viết tệp:
Đọc tài liệu:
Sử dụng tệp RAW, FileWriter và API hệ thống tập tin Viết tệp:
Đọc tài liệu:
Sử dụng tệp RAW, FileWriter và API hệ thống tập tin
Google (đóng góp chính cho crom) đã không được đưa ra và ngày cuối đời cho API Cho dù "một số trường hợp" bao gồm của riêng bạn, tuy nhiên, là để bạn quyết định. Vì lý do bảo mật và quyền riêng tư, các ứng dụng web không có quyền truy cập trực tiếp vào Fileson thiết bị của người dùng. Nếu bạn cần đọc một hoặc nhiều tệp cục bộ, bạn có thể thực hiện thông qua việc sử dụng đầu vào tệp và trình Filereader. Trong bài viết này, chúng tôi sẽ xem xét cách thức hoạt động của điều này thông qua một vài ví dụ. TL;DR
Làm thế nào nó hoạt độngVì JavaScript trong trình duyệt không thể truy cập các tệp cục bộ từ thiết bị của người dùng, chúng tôi cần cung cấp cho người dùng một cách để chọn một hoặc nhiều tệp để chúng tôi sử dụng. Điều này có thể được thực hiện với phần tử đầu vào tệp HTML:
Nếu chúng tôi muốn cho phép lựa chọn nhiều tệp, chúng tôi có thể thêm thuộc tính 4:
Chúng ta có thể sử dụng sự kiện 5 của trường đầu vào để trả lời trình chọn tệp thêm một phần tử UI khác để cho phép người dùng bắt đầu xử lý tệp đã chọn một cách rõ ràng.or add another UI element to let the user explicitly start the processing of the selected file. Cũng lưu ý: Việc lựa chọn một tệp có phần tử đầu vào không tải lên tệp ở bất cứ đâu, điều duy nhất xảy ra là tệp có sẵn cho JavaScript trên trang. Đầu vào tệp có thuộc tính 2 là danh sách (vì có thể có nhiều tệp được chọn) của các đối tượng 7.
Đối tượng tệp `trông như thế này:
Bây giờ chúng tôi có khả năng chọn một tệp và xem siêu dữ liệu, nhưng làm thế nào chúng tôi có thể truy cập nội dung tệp? Để có được nội dung thực tế của một tệp đã chọn, chúng tôi cần một 3.To get the actual content of a selected file, we need a 3.Trình đọc tệp lấy một đối tượng 7 và cung cấp cho chúng tôi các phương thức để có quyền truy cập vào dữ liệu như:
Trong các ví dụ sau, chúng tôi sẽ sử dụng các phương thức 0 và 1 để hiển thị nội dung của các tệp văn bản và hình ảnh.Ví dụ một: Đọc tệp văn bảnĐể hiển thị nội dung tệp là văn bản, chúng tôi thay đổi trình xử lý sự kiện 5:
Đầu tiên chúng tôi đảm bảo rằng có một tệp có thể được đọc. Nếu người dùng hủy hoặc khác với hộp thoại Chọn tệp mà không cần chọn tệp, chúng tôi không có gì để đọc và thoát chức năng của chúng tôi. Sau đó chúng tôi tiến hành tạo một 3. Trình đọc hoạt động trước khi không chặn các bản cập nhật chính và UI rất quan trọng khi đọc các tệp lớn (như video).to not block the main thread and UI updates which is important when reading large files (like videos). Trình đọc phát ra một sự kiện 'tải' (ví dụ tương tự như hình ảnh) cho biết mã của chúng tôi rằng việc đọc đã kết thúc. Trình đọc giữ nội dung tệp trong thuộc tính 4 của nó. Dữ liệu trong thuộc tính này phụ thuộc vào phương thức nào chúng tôi sử dụng để đọc tệp.The reader keeps the file content in its 4 property. The data in this property depends on which method we used to read the file.Trong ví dụ của chúng tôi, chúng tôi đọc tệp bằng phương thức 0, vì vậy 4 sẽ là một chuỗi văn bản.
Ví dụ Hai: Hiển thị hình ảnh từ thiết bị của người dùngNếu chúng ta muốn hiển thị hình ảnh, hãy đọc tệp vào một chuỗi không hữu ích. Một cách rõ ràng, 3 có phương thức 1 đọc chuỗi được mã hóa tệp Inan có thể được sử dụng làm nguồn cho phần tử 9. Mã này khá giống như trước đây, với các ngoại lệ mà chúng tôi đọc tệp với 1 và hiển thị kết quả dưới dạng hình ảnh:Conveniently the 3 has a 1 method that reads the file intoan encoded string that can be used as the source for an 9 element. The code is pretty much the same as previously,with the exceptions that we read the file with 1 and display the result as an
image:
JavaScript có thể truy cập tệp cục bộ không?Trình duyệt web (và JavaScript) chỉ có thể truy cập các tệp cục bộ với quyền người dùng.Để chuẩn hóa quyền truy cập tệp từ trình duyệt, W3C đã xuất bản API tệp HTML5 vào năm 2014. Nó xác định cách truy cập và tải lên các tệp cục bộ với các đối tượng tệp trong các ứng dụng web.can only access local files with user permission. To standardize the file access from the browser, the W3C published the HTML5 File API in 2014. It defines how to access and upload local files with file objects in web applications.
JavaScript có thể sửa đổi các tệp cục bộ không?Bạn không thể sửa đổi các tệp cục bộ từ JavaScript..
JavaScript có thể xử lý các tệp không?JavaScript là ngôn ngữ lập trình phổ biến cho phép bạn xử lý các tệp trong trình duyệt..
HTML có thể đọc các tệp cục bộ không?HTML 5 cung cấp một cách tiêu chuẩn để tương tác với các tệp cục bộ với sự trợ giúp của API tệp.API tệp cho phép tương tác với các tệp đơn, cũng như blob.API FileReader có thể được sử dụng để đọc một tệp không đồng bộ trong sự hợp tác với xử lý sự kiện JavaScript.. The File API allows interaction with single, multiple as well as BLOB files. The FileReader API can be used to read a file asynchronously in collaboration with JavaScript event handling. |