Hướng dẫn javascript open a file client side - javascript mở một phía máy khách tệp
Có những thứ như API tệp HTML5 để truy cập các tệp cục bộ được chọn bởi người dùng, mà không tải lên chúng ở bất cứ đâu.HTML5 File API to access local files picked by user, without uploading them anywhere. Show
Nó là tính năng khá mới, nhưng được hỗ trợ bởi hầu hết các trình duyệt hiện đại. Tôi thực sự khuyên bạn nên kiểm tra bài viết tuyệt vời này để xem, làm thế nào bạn có thể sử dụng nó. Có một vấn đề với điều này, bạn không thể đọc các tệp lớn (~ 400 MB trở lên) vì các chức năng Fileapi thẳng tiến đang cố gắng tải toàn bộ tệp vào bộ nhớ.can't read big files (~400 MB and larger) because straight forward FileAPI functions attempting to load entire file into memory. Nếu bạn cần đọc các tệp lớn hoặc tìm kiếm một cái gì đó ở đó hoặc điều hướng theo chỉ mục dòng, hãy kiểm tra vải lanh của tôi, cho phép bạn đọc, điều hướng và tìm kiếm trong các tệp có kích thước. Hãy thử nó trong jsfiddle! Nó rất dễ sử dụng:LineNavigator, which allows you to read, navigate and search in files of any size. Try it in jsFiddle! It is super easy to use: Gần đây, tôi đã làm việc trên một dự án phụ, dựa trên việc đọc và thao tác các tệp để tạo hình thu nhỏ tùy chỉnh cho các mặt số tốc độ của Vivaldi trình duyệt. Tôi đã có thể thực hiện tất cả bên trong trình duyệt, mà không cần xử lý phía máy chủ và tôi muốn chia sẻ với bạn mọi thứ mà tôi đã học được. Hướng dẫn này bao gồm: Để cho phép người dùng của bạn chọn một tệp từ thiết bị của họ, trước tiên bạn sẽ phải tạo một Để thực sự nhận được các tệp từ đầu vào này, bạn sẽ cần truy cập thuộc tính Cách bạn làm sẽ phụ thuộc vào khung mà bạn sử dụng. Để làm cho hướng dẫn này được áp dụng rộng rãi nhất có thể, chúng tôi sẽ sử dụng vani JS. Kết quả được chọn là một đối tượng Đầu vào tệp cung cấp cho chúng tôi các đối tượng Ngoài Hai cái này về cơ bản có thể hoán đổi cho nhau và bạn có thể sử dụng một ở hầu hết mọi nơi bạn có thể sử dụng cái kia. Nếu bạn hoàn toàn cần phải chuyển đổi chúng, bạn có thể làm như vậy bằng cách sử dụng hàm tạo loại khác. Đọc nội dung của các tệpĐược rồi, vì vậy chúng tôi biết cách chọn và nhận thông tin về các tệp, nhưng làm thế nào để chúng tôi thực sự đọc những gì bên trong chúng? Chà, điều đó phụ thuộc vào loại tệp và những gì bạn muốn làm với nó. Đối với mục đích của bài viết này, chúng tôi sẽ chỉ tập trung vào hình ảnh và tệp văn bản. Phương pháp đọc tệp linh hoạt và được hỗ trợ tốt nhất để đọc nội dung tệp là API Filereader. Nó có một API điều khiển sự kiện, vì vậy thay vì chỉ gọi một hàm và nhận nội dung của tệp, chúng ta phải thực hiện một số bước bổ sung. Hãy bắt đầu với việc đọc một tệp văn bản:
Mẹo nhanh: Bạn có thể truy cập trình đọc bên trong một trình xử lý sự kiện theo nhiều cách: Xử lý lỗiTrong trường hợp lỗi, trình xử lý sự kiện lỗi được gọi và bạn có thể tìm thấy đối tượng lỗi trong
Hầu hết thời gian không cần phải phân biệt giữa các loại lỗi này, có thể ngoại trừ Trạng thái sẵn sàngHoạt động đọc không đồng bộ, vì vậy don don thử truy cập
Thuộc tính Điều tương tự áp dụng cho Các loại sự kiện FilereaderChúng tôi đã khám phá hai loại sự kiện đọc phổ biến nhất, bây giờ hãy để nhanh chóng bao gồm phần còn lại. Filereader có sáu loại sự kiện:
Bạn có thể nhận thấy rằng các sự kiện Filereader hoạt động tương tự như các sự kiện DOM thông thường. Tôi thấy rằng suy nghĩ về họ như vậy làm cho việc hiểu bản chất phi tuyến tính, không đồng bộ của họ dễ dàng hơn rất nhiều. Sidenote: Giống như với các sự kiện DOM, nó có thể đăng ký trình xử lý sự kiện bằng cách sử dụng Blob.text()Nó cũng đáng chú ý rằng để đọc các tệp văn bản tồn tại một phương thức mới hơn và đơn giản hơn: Có phải nó trông đẹp hơn? Tôi nghĩ rằng nó có, nhưng có một điều bắt được. API này khá mới và hỗ trợ trình duyệt vẫn còn khá kém. Làm việc với hình ảnhBây giờ chúng ta đã biết cách đọc các tệp văn bản, hãy để Lừa chuyển sang một cái gì đó thú vị hơn: hình ảnh. Để minh họa chủ đề này, chúng tôi sẽ xây dựng một bản xem trước đơn giản về hình ảnh đã chọn. Loại tập tinĐầu tiên, hãy để đảm bảo rằng tệp đã chọn thực sự là một hình ảnh. Chúng ta có thể làm điều đó với sự trợ giúp của thuộc tính Thuộc tính
Bạn có thể trộn và kết hợp chúng để đặt trường hợp sử dụng cụ thể của bạn. Xác thực HTML là hoàn hảo mặc dù. Ví dụ: trên Windows, nó sẽ chỉ ẩn các tệp không khớp với tiêu chí của bạn, nhưng bạn vẫn có thể chọn tất cả các tệp (*.*) Hoặc sử dụng kéo và thả để chọn bất kỳ tệp nào bạn muốn. Tất cả điều này có nghĩa là nó cũng là một ý tưởng tốt để kiểm tra loại tệp bên trong mã JavaScript của bạn. Hoặc bạn có thể thiết lập các luồng xử lý riêng cho các loại tệp khác nhau Thật không may, Ngoài ra, hãy nhớ rằng, bất kỳ tệp hình ảnh nào sẽ phù hợp (trong số những người khác):
Vì vậy, hãy chắc chắn rằng bạn hỗ trợ tất cả các chức năng này hoặc chỉ định rõ ràng các loại bạn dự định hỗ trợ. URL dữ liệu & URL đối tượngĐể hiển thị một hình ảnh đã chọn, chúng tôi sẽ cần HTML IMG và URL cho thuộc tính DataUrl Nó kết quả của Định dạng của nó có thể thay đổi một chút tùy thuộc vào loại dữ liệu mà nó đại diện, nhưng đối với hầu hết các tệp, có vẻ như thế này: Bởi vì nó thực sự chứa dữ liệu tệp, nó có thể được sử dụng ở bất cứ đâu sau khi nó được tạo, mà không cần tệp gốc. Tuyệt đấy! ObjectUrl Còn được gọi là URL Blob. Nó kết quả của Nó nhanh hơn và súc tích hơn Đối tượng phải bị thu hồi khi nó không còn cần thiết. Trình duyệt sẽ tự động thực hiện nó khi tài liệu được dỡ xuống, tuy nhiên để sử dụng bộ nhớ và hiệu suất tối ưu, bạn không nên dựa vào hành vi đó, đặc biệt là trong các ứng dụng lớn với nhiều đối tượng. Thay vào đó, bạn nên gọi rõ ràng Sidenote: Để lấy dữ liệu tệp được mã hóa cơ sở64 từ một dataurl, chỉ cần trích xuất một phần của chuỗi sau dấu phẩy, như thế này: Hiển thị hình ảnh đã chọnHầu hết các đối tượng thời gian và dataURL có thể được sử dụng thay thế cho nhau, nhưng mỗi người đều có điểm mạnh và điểm yếu riêng. Điều này có nghĩa là bạn có thể nên học cả hai và chọn cái nào sẽ sử dụng trên cơ sở từng trường hợp. Hãy cùng xem xét các ví dụ về cả hai, để có cảm giác tốt hơn về cách mỗi người hoạt động. Sử dụng Filereader & DataURLS
Sử dụng đối tượng
Sử dụng đối tượng Elsewhere you might see images created by using the Image constructor i.e. Bên trong cuộc gọi lại input8, chúng tôi nhận được tệp đã chọn và tạo phần tử hình ảnh mớiChúng tôi đăng ký một trình xử lý sự kiện tải trên hình ảnh Bên trong cuộc gọi lại Khi hình ảnh được tải đầy đủ, chúng tôi đã giành được đối tượng nữa. Vì vậy, bên trong cuộc gọi lại
Khi thuộc tính SRC được đặt, chúng tôi nối toàn bộ phần tử Date1 vào DOM với tư cách là con của ReviewContainer của chúng tôi.Sidenote: nơi khác bạn có thể thấy hình ảnh được tạo bằng cách sử dụng hàm tạo hình ảnh, tức là Filelist Trước khi chúng tôi chuyển sang đọc nhiều tệp, hãy để xóa một cái gì đó. Thuộc tính Bạn cũng có thể nhận thấy rằng mặc dù chúng tôi chỉ làm việc với một tệp singe (cho đến bây giờ), chúng tôi luôn phải viết Sidenote: Theo dự thảo làm việc của W3C, input08 có thể được thay thế bằng một input07 thông thường trong tương lai gần. Ngón tay vượt 🤞Giao diện Filelist nên được coi là rủi ro vì xu hướng chung trên nền tảng web là thay thế các giao diện đó bằng đối tượng nền tảng mảng trong ECMAScript [ECMA-262]. Cụ thể, điều này có nghĩa là cú pháp của Filelist.Item (0) có nguy cơ; Hầu hết các chương trình sử dụng lập trình khác của Filelist dường như không bị ảnh hưởng bởi việc di chuyển cuối cùng sang loại mảng. Cảm ơn vì đã đọc. Nếu điều gì đó không rõ ràng, hoặc bạn muốn tôi mở rộng về một số chủ đề, hãy cho tôi biết trong các bình luận Các bài viết thú vị khácNgoài ra, nếu bạn là một người hâm mộ Vivaldi như tôi, hãy xem trình tạo hình thu nhỏ Vivaldi của tôi, thì đó là một công cụ miễn phí mà tôi đã tạo ra vì tôi mệt mỏi khi tạo hình thu nhỏ theo cách thủ công. Nó sử dụng rất nhiều khái niệm từ bài đăng này và bạn có thể kiểm tra toàn bộ mã nguồn trên GitHub. Làm cách nào để đọc một tệp từ phía máy khách?Đọc, chỉnh sửa và ghi các tệp với JavaScript phía máy khách.. Sử dụng ObjectUrls và Filereader để đọc các tệp từ hệ thống tập tin của người dùng .. Nhận thông tin của một tệp như: Kích thước, loại và nhiều hơn nữa .. Hiển thị bản xem trước của các tệp hình ảnh đã chọn .. xử lý lỗi và trạng thái tải .. Cheatsheet ở cuối .. Làm cách nào để mở một tệp bằng JavaScript?Để mở một tệp trong JavaScript, chúng ta cần sử dụng đầu vào tệp, sẽ hiển thị một nút từ nơi chúng ta có thể chọn các tệp để tải lên:.. Bài Viết Liên QuanQuảng CáoCó thể bạn quan tâmToplist được quan tâm#2
#3
#4
Top 6 thử thách thần chết thuyết minh phần 2 20235 tháng trước#5
#6
Top 5 áo khoác nam quảng châu cao cấp 20235 tháng trước#7
#8
Top 9 mẫu đồng phục công sở đẹp 2022 20235 tháng trước#9
Top 5 ốp lưng iphone 13 pro bảo vệ camera 20235 tháng trướcQuảng cáoXem NhiềuQuảng cáoChúng tôiTrợ giúpBản quyền © 2021 boxhoidap.com Inc.
|