Javascript ghi vào tệp phía máy khách
Hầu hết công việc diễn ra ở
2. Hàm được chuyển proxy tới một thư mục để liệt kê và mức thụt lề. (Mức thụt lề tăng dần với mỗi lệnh gọi đệ quy và cho phép mã in tên của từng nút ở mức thụt lề tương ứng với độ sâu của cây tại nút đó. ) 2 gọi thao tác const Ice = require("ice").Ice; const Filesystem = require("./generated/Filesystem").Filesystem; (async function() { async function listRecursive(dir, depth) { const indent = "\t".repeat(++depth); const contents = await dir.list(); for(let node of contents) { const subdir = await Filesystem.DirectoryPrx.checkedCast(node); console.log(indent + (await node.name()) + (subdir? " (directory):" : " (file):")); if(subdir) { await listRecursive(subdir, depth); } else { const file = Filesystem.FilePrx.uncheckedCast(node); const text = await file.read(); for(let line of text) { console.log(`${indent}\t${line}`); } } } } let communicator; try { communicator = Ice.initialize(process.argv); const base = communicator.stringToProxy("RootDir:default -h localhost -p 10000"); const rootDir = await Filesystem.DirectoryPrx.checkedCast(base); if(!rootDir) { throw new Error("Invalid Proxy"); } console.log("Contents of root directory:"); await listRecursive(rootDir, 0); } catch(ex) { console.log(ex.toString()); process.exitCode = 1; } finally { if(communicator) { await communicator.destroy(); } } }());3 trên thư mục và lặp lại chuỗi nút được trả về Chào mừng bạn đến với hướng dẫn về cách tạo và lưu tệp trong Javascript. Chà, đây sẽ là một quá trình phức tạp cho người mới bắt đầu. Để mọi thứ đơn giản – Lưu tệp trên NodeJS phía máy chủ rất dễ dàng, nhưng thật khó để lưu trực tiếp tệp ở phía máy khách do các hạn chế về bảo mật. Điều đó nói rằng, có nhiều phương pháp chúng ta có thể sử dụng Show
Các cách có thể để tạo và lưu tệp trong Javascript là
Điều đó bao gồm những điều cơ bản, nhưng chúng ta hãy xem qua các ví dụ chi tiết trong hướng dẫn này – Đọc tiếp ⓘ Tôi đã bao gồm một tệp zip chứa tất cả mã nguồn ví dụ khi bắt đầu hướng dẫn này, vì vậy bạn không cần phải sao chép-dán mọi thứ… Hoặc nếu bạn chỉ muốn đi sâu vào
TRANG TRÌNH BÀY NHANH
TẢI XUỐNG & LƯU ÝĐầu tiên, đây là liên kết tải xuống mã ví dụ như đã hứa
GHI CHÚ NHANHNếu bạn phát hiện ra một lỗi, hãy bình luận bên dưới. Tôi cũng cố gắng trả lời các câu hỏi ngắn, nhưng đó là một người so với cả thế giới… Nếu bạn cần câu trả lời gấp, vui lòng xem danh sách các trang web của tôi để được trợ giúp về lập trình
MÃ VÍ DỤ TẢI XUỐNGNhấp vào đây để tải xuống mã nguồn, tôi đã phát hành mã nguồn theo giấy phép MIT, vì vậy vui lòng xây dựng trên mã nguồn đó hoặc sử dụng mã nguồn đó trong dự án của riêng bạn
LƯU TẬP TIN TRONG JAVASCRIPTĐược rồi, bây giờ chúng ta hãy tìm hiểu các cách khác nhau để lưu tệp trong Javascript
PHƯƠNG PHÁP 1) SỬ DỤNG FILE SAVER1 trình bảo vệ tệp. js 0Cảm ơn chúa, ai đó đã làm tất cả công việc khó khăn. Đây là một trong những cách dễ nhất và “an toàn nhất” trên nhiều trình duyệt để lưu tệp –
PHƯƠNG PHÁP 2) TẠO TẬP TIN TỪ BLOB & FORCE DOWNLOAD2-blob-tải xuống. html
Do các hạn chế về bảo mật, Javascript phía máy khách không thể truy cập trực tiếp vào hệ thống tệp. Tức là không ghi và tải tệp trực tiếp trên máy tính của người dùng. Nhưng đây là cách làm vòng vo – Tạo một đối tượng BLOB (nhị phân) để chứa tất cả dữ liệu, sau đó đặt liên kết tải xuống cho nó
PHƯƠNG PHÁP 3) TẢI BLOB LÊN MÁY CHỦJAVASCRIPT3a-blob-tải lên. html 2
PHP3b-blob-tải lên. php 6Đây là một giải pháp thay thế cho tải xuống BLOB ở trên – Thay vào đó, chúng tôi tải BLOB lên và lưu nó trên máy chủ
PHƯƠNG PHÁP 4) DÒNG TẬP TIN CÓ THỂ GHI4-tệp-luồng. html 7Vâng, thời đại của bà già của Internet đã qua. Chúng tôi có thể tạo trình xử lý tệp và luồng tệp trên máy tính của người dùng, sử dụng nó để lưu tệp. Nhưng thao tác này vẫn mở ra hộp thoại “save file as”, chúng ta không thể lưu trực tiếp mà không có sự cho phép của người dùng P. S. Tính năng này sẽ chỉ hoạt động trên Chrome, Edge và Opera tại thời điểm viết bài
PHƯƠNG PHÁP 5) VIẾT VÀO TẬP TIN TRONG NODEJS5 nút. js 8Vâng, nó đơn giản một cách ngu ngốc. Chỉ cần tải mô-đun hệ thống tệp 22 và sử dụng hàm 23. Để tải tệp, chúng tôi sử dụng hàm 24 tương ứng
BIT & LIÊN KẾT HỮU ÍCHĐó là tất cả cho hướng dẫn này và đây là một phần nhỏ về một số tính năng bổ sung và liên kết có thể hữu ích cho bạn
KIỂM TRA TÍNH TƯƠNG THÍCH
Không phải tất cả các trình duyệt đều hỗ trợ kiểu dữ liệu BLOB cũng như tất cả các tính năng ghi tệp. Vì vậy, tốt nhất bạn nên thực hiện một số kiểm tra trước khi bật các tính năng ninja của mình – Tôi khuyên bạn nên sử dụng Modernizr để phát hiện xem trình duyệt có hỗ trợ một số tính năng nhất định hay không
LIÊN KẾT và THAM KHẢO
VIDEO HƯỚNG DẪN
BẢNG CHEAT INFOGRAPHICCảm ơn bạn đã đọc, và chúng tôi đã đi đến phần cuối của hướng dẫn này. Tôi hy vọng rằng nó đã giúp bạn với dự án của bạn và nếu bạn muốn chia sẻ bất cứ điều gì với hướng dẫn này, xin vui lòng bình luận bên dưới. Chúc may mắn và mã hóa hạnh phúc Tôi có thể ghi vào tệp bằng JavaScript không?JavaScript có một gói có tên là “Hệ thống tệp”, cho phép người dùng làm việc với các tệp. Trong gói này, có một hàm tên là “writeFile”, với mục đích duy nhất là ghi dữ liệu vào một tệp được chỉ định trong đường dẫn của nó
JavaScript có thể ghi vào đĩa không?Câu trả lời ngắn gọn là không; . Bạn sẽ cần một người trợ giúp để làm điều đó. Ví dụ: TiddlyWiki là một công cụ wiki chỉ là một tệp HTML tĩnh duy nhất, nhưng nó có thể tự ghi vào đĩa với sự trợ giúp của một tiểu dụng Java (Tiddly Saver). you cannot by default write a file to the local disk, by using plain JavaScript in a browser. You'll need a helper to do that. For example, TiddlyWiki is a wiki engine that is just a single, static HTML file, but it can write itself to disk with the help of a Java applet (Tiddly Saver). |