Hướng dẫn javascript save string to file - javascript lưu chuỗi vào tệp
Bởi Atul Rai | Cập nhật lần cuối: ngày 2 tháng 3 năm 2019 trước & NBSP; & nbsp; & nbsp; Tiếp theo Previous Next Show
Như chúng ta biết rằng JavaScript là một trong những ngôn ngữ lập trình cấp cao, được giải thích phổ biến nhất trên thế giới. Bây giờ nó có khả năng làm hầu hết mọi thứ mà chúng ta đang làm trong các ngôn ngữ lập trình khác. Để biết thêm về kiểm tra khảo sát Stackoverflow 2018.JavaScript is one of the most popular high-level, interpreted programming language in the world. Now it is capable to do almost everything that we are doing in other programming languages. To know more about check out the StackOverflow 2018 survey. Những gì chúng tôi sẽ xây dựngTrong hướng dẫn này, chúng tôi sẽ tạo và lưu dữ liệu vào một tệp văn bản. Để làm điều đó, chúng tôi sẽ viết:
Hãy để nhảy vào phần ngon ngọt thực tế của mã. 1. Lưu dữ liệu tĩnh1.1 Tạo một chức năng thực thi trên nút Nhấp vào sự kiện. Create a function that executes on button click event.
1.2 khởi tạo đối tượng 1 object and pass a text string as the first parameter and blob type as the second parameter.
1.3 Bây giờ hãy gọi chức năng 4 function which takes blob object as input and let you save files on web browser.
Kiểm tra ví dụ hoàn chỉnh.
2. Lưu dữ liệu độngĐể lưu dữ liệu đầu vào của người dùng vào tệp văn bản, trước tiên, chúng ta cần lưu trữ dữ liệu của người dùng vào một biến và truyền biến đó dưới dạng tham số đầu tiên 1. Kiểm tra ví dụ mã hoàn chỉnh.
Xong. Cảm ơn bạn 🙂 Người giới thiệu
360 Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm. Gần đây tôi đã nghịch ngợm với Webgl và đã có một độc giả Collada làm việc. Vấn đề là nó khá chậm (Collada là một định dạng rất dài dòng), vì vậy tôi sẽ bắt đầu chuyển đổi các tệp thành định dạng dễ sử dụng hơn (có thể là JSON). Tôi đã có mã để phân tích tệp trong JavaScript, vì vậy tôi cũng có thể sử dụng nó làm nhà xuất khẩu của mình! Vấn đề là tiết kiệm. Bây giờ, tôi biết rằng tôi có thể phân tích tệp, gửi kết quả đến máy chủ và yêu cầu trình duyệt yêu cầu tệp từ máy chủ dưới dạng tải xuống. Nhưng trong thực tế, máy chủ không liên quan gì đến quy trình cụ thể này, vậy tại sao nó lại tham gia? Tôi đã có nội dung của tệp mong muốn trong bộ nhớ. Có cách nào để tôi có thể trình bày cho người dùng tải xuống bằng JavaScript thuần túy không? (Tôi nghi ngờ điều đó, nhưng cũng có thể hỏi ...) Và để rõ ràng: Tôi không cố gắng truy cập hệ thống tập tin mà không có kiến thức của người dùng! Người dùng sẽ cung cấp một tệp (có thể thông qua kéo và thả), tập lệnh sẽ chuyển đổi tệp trong bộ nhớ và người dùng sẽ được nhắc tải xuống kết quả. Tất cả trong số đó phải là các hoạt động "an toàn" theo như trình duyệt có liên quan. . ngay trong trường hợp của tôi. (Mặc dù đó là một câu trả lời hoàn toàn hợp lệ cho bất kỳ ai thực hiện một ứng dụng web "thực".) Đó là trường hợp có vẻ như tôi không gặp may trừ khi tôi muốn liên quan đến máy chủ. Dẫu sao cũng xin cảm ơn! I didn't mention it upfront, so the posters who answered "Flash" are valid enough, but part of what I'm doing is an attempt to highlight what can be done with pure HTML5... so Flash is right out in my case. (Though it's a perfectly valid answer for anyone doing a "real" web app.) That being the case it looks like I'm out of luck unless I want to involve the server. Thanks anyway!
Khi được hỏi ngày 24 tháng 5 năm 2010 lúc 14:16May 24, 2010 at 14:16
1 Giải pháp đơn giản cho các trình duyệt sẵn sàng HTML5 ...
Cách sử dụng
Orangedog 34.3K12 Huy hiệu vàng119 Huy hiệu bạc197 Huy hiệu đồng12 gold badges119 silver badges197 bronze badges Đã trả lời ngày 12 tháng 8 năm 2013 lúc 22:11Aug 12, 2013 at 22:11
Matěj pokornýmatěj pokornýMatěj Pokorný 15.9k3 Huy hiệu vàng38 Huy hiệu bạc47 Huy hiệu đồng3 gold badges38 silver badges47 bronze badges 18 OK, tạo một dữ liệu: Uri chắc chắn thực hiện thủ thuật cho tôi, nhờ Matthew và Dennkster chỉ ra tùy chọn đó! Đây là cách tôi làm điều đó: 1) Nhận tất cả nội dung vào một chuỗi gọi là "nội dung" (ví dụ: bằng cách tạo nó ban đầu hoặc bằng cách đọc bên trong của thẻ của một trang đã được xây dựng). 2) Xây dựng URI dữ liệu:
Sẽ có giới hạn độ dài tùy thuộc vào loại trình duyệt, v.v., nhưng ví dụ: Firefox 3.6.12 hoạt động cho đến ít nhất 256K. Mã hóa trong base64 thay vào đó sử dụng encodeuricomponent có thể làm cho mọi thứ hiệu quả hơn, nhưng đối với tôi điều đó là ổn. 3) Mở một cửa sổ mới và "chuyển hướng" nó đến URI nhắc nhở cho một vị trí tải xuống của trang được tạo JavaScript của tôi:
Đó là nó.
Đã trả lời ngày 29 tháng 12 năm 2010 lúc 4:25Dec 29, 2010 at 4:25
NøknøkNøk 2.7642 Huy hiệu vàng14 Huy hiệu bạc2 Huy hiệu đồng2 gold badges14 silver badges2 bronze badges 13 HTML5 xác định phương pháp 6. Nó không được hỗ trợ bởi bất kỳ trình duyệt nào ngay bây giờ. Nhưng có một thư viện tương thích được gọi là FileSaver.js thêm chức năng này vào hầu hết các trình duyệt hiện đại (bao gồm Internet Explorer 10+). Internet Explorer 10 hỗ trợ phương thức 7 (MSDN), được sử dụng trong FileSaver.js để hỗ trợ Internet Explorer.Tôi đã viết một bài đăng trên blog với nhiều chi tiết hơn về vấn đề này.
Eli Grey 34.5K13 Huy hiệu vàng72 Huy hiệu bạc93 Huy hiệu Đồng13 gold badges72 silver badges93 bronze badges Đã trả lời ngày 19 tháng 5 năm 2012 lúc 18:10May 19, 2012 at 18:10
Panzipanzipanzi 7.4135 Huy hiệu vàng40 Huy hiệu bạc51 Huy hiệu Đồng5 gold badges40 silver badges51 bronze badges 13 Lưu các tập tin lớnURI dữ liệu dài có thể cung cấp các vấn đề về hiệu suất trong trình duyệt. Một tùy chọn khác để lưu các tệp được tạo phía máy khách, là đặt nội dung của chúng vào đối tượng Blob (hoặc Tệp) và tạo liên kết tải xuống bằng 8. Điều này trả về một URL có thể được sử dụng để truy xuất nội dung của blob. Blob được lưu trữ bên trong trình duyệt cho đến khi 9 được gọi trên URL hoặc tài liệu tạo nó được đóng. Hầu hết các trình duyệt web đều có hỗ trợ cho các URL đối tượng, Opera Mini là công cụ duy nhất không hỗ trợ họ.Buộc tải xuốngNếu dữ liệu là văn bản hoặc hình ảnh, trình duyệt có thể mở tệp, thay vì lưu nó vào đĩa. Để khiến tệp được tải xuống khi nhấp vào liên kết, bạn có thể sử dụng thuộc tính 0. Tuy nhiên, không phải tất cả các trình duyệt web đều có hỗ trợ cho thuộc tính tải xuống. Một tùy chọn khác là sử dụng 1 làm loại mime của tệp, nhưng điều này khiến tệp được trình bày dưới dạng Bined Binb, đặc biệt không thân thiện với người dùng nếu bạn không hoặc không thể chỉ định tên tệp. Xem thêm 'Lực lượng để mở "Lưu dưới dạng ..." Popup Open tại liên kết văn bản Nhấp vào cho PDF trong HTML'.Chỉ định một tên tệpNếu blob được tạo với hàm tạo tệp, bạn cũng có thể đặt tên tệp, nhưng chỉ có một vài trình duyệt web (bao gồm Chrome & Firefox) có hỗ trợ cho hàm tạo tệp. Tên tệp cũng có thể được chỉ định là đối số cho thuộc tính 0, nhưng điều này phải chịu một tấn cân nhắc bảo mật. Internet Explorer 10 và 11 cung cấp phương pháp riêng của mình, MSSaveBeob, để chỉ định tên tệp.Mã ví dụ
0
Steve Eynon 4.7592 Huy hiệu vàng28 Huy hiệu bạc46 Huy hiệu đồng2 gold badges28 silver badges46 bronze badges Đã trả lời ngày 30 tháng 8 năm 2015 lúc 10:16Aug 30, 2015 at 10:16
BCMPINCBCMPINCbcmpinc 3.04228 Huy hiệu bạc32 Huy hiệu đồng28 silver badges32 bronze badges 7 1Đã trả lời ngày 7 tháng 10 năm 2013 lúc 17:03Oct 7, 2013 at 17:03
Yassir Ennazkyassir EnnazkYassir Ennazk 6.5834 Huy hiệu vàng30 Huy hiệu bạc37 Huy hiệu Đồng4 gold badges30 silver badges37 bronze badges 3 Hãy xem Doug Neiner's Downloadify, đó là giao diện JavaScript dựa trên đèn flash để làm điều này.
Đã trả lời ngày 24 tháng 5 năm 2010 lúc 14:22May 24, 2010 at 14:22
PekkapekkaPekka 435K137 Huy hiệu vàng966 Huy hiệu bạc1080 Huy hiệu Đồng137 gold badges966 silver badges1080 bronze badges 14 Giải pháp đơn giản! 2Công trình trong tất cả các trình duyệt hiện đại. Đã trả lời ngày 26 tháng 8 năm 2016 lúc 11:55Aug 26, 2016 at 11:55
T.ToduaT.ToduaT.Todua 50.3K19 Huy hiệu vàng218 Huy hiệu bạc214 Huy hiệu đồng19 gold badges218 silver badges214 bronze badges 5 Tôi đã sử dụng FileSaver (https://github.com/eligrey/filesaver.js) và nó hoạt động tốt. Ví dụ: tôi đã làm chức năng này để xuất nhật ký được hiển thị trên một trang. Bạn phải vượt qua một mảng cho sự khởi tạo của blob, vì vậy tôi có thể không viết điều này đúng cách, nhưng nó hoạt động với tôi. Chỉ trong trường hợp, hãy cẩn thận với việc thay thế: Đây là cú pháp để tạo ra toàn cầu này, nếu không nó sẽ chỉ thay thế lần đầu tiên anh gặp. 3Đã trả lời ngày 10 tháng 2 năm 2014 lúc 12:56Feb 10, 2014 at 12:56
RazakhelrazakhelRazakhel 72313 Huy hiệu bạc32 Huy hiệu đồng13 silver badges32 bronze badges 3 Bạn có thể tạo URI dữ liệu. Tuy nhiên, có những hạn chế cụ thể của trình duyệt. Đã trả lời ngày 24 tháng 5 năm 2010 lúc 14:22May 24, 2010 at 14:22
PekkapekkaMatthew Flaschen 435K137 Huy hiệu vàng966 Huy hiệu bạc1080 Huy hiệu Đồng50 gold badges510 silver badges537 bronze badges 5 Giải pháp đơn giản! 4Công trình trong tất cả các trình duyệt hiện đại.Mar 16, 2014 at 8:24
Đã trả lời ngày 26 tháng 8 năm 2016 lúc 11:55maikel 50.3K19 Huy hiệu vàng218 Huy hiệu bạc214 Huy hiệu đồng17 silver badges15 bronze badges 3 try 5Tôi đã sử dụng FileSaver (https://github.com/eligrey/filesaver.js) và nó hoạt động tốt. Ví dụ: tôi đã làm chức năng này để xuất nhật ký được hiển thị trên một trang. Bạn phải vượt qua một mảng cho sự khởi tạo của blob, vì vậy tôi có thể không viết điều này đúng cách, nhưng nó hoạt động với tôi. Chỉ trong trường hợp, hãy cẩn thận với việc thay thế: Đây là cú pháp để tạo ra toàn cầu này, nếu không nó sẽ chỉ thay thế lần đầu tiên anh gặp. Đã trả lời ngày 10 tháng 2 năm 2014 lúc 12:56Razakhelrazakhel
72313 Huy hiệu bạc32 Huy hiệu đồngApr 21, 2019 at 16:13
Bạn có thể tạo URI dữ liệu. Tuy nhiên, có những hạn chế cụ thể của trình duyệt.Kamil Kiełczewski Matthew Flaschenmatthew Flaschen26 gold badges338 silver badges315 bronze badges Phù bằng vàng 272K50510 Huy hiệu bạc537 Huy hiệu đồng http://www.nihilogic.dk/labs/canvas2image/ Tôi tìm thấy hai cách tiếp cận đơn giản làm việc cho tôi. Đầu tiên, sử dụng phần tử 3 đã được nhấp và tiêm dữ liệu tải xuống. Và thứ hai, tạo ra một phần tử 3 với dữ liệu tải xuống, thực thi 5 và xóa nó một lần nữa. Nhưng cách tiếp cận thứ hai chỉ hoạt động nếu được gọi bởi một hành động nhấp chuột của người dùng. .Sep 14, 2010 at 14:41
Đã trả lời ngày 16 tháng 3 năm 2014 lúc 8:24Dennkster Maikelmaikel2 gold badges15 silver badges13 bronze badges 0 1.55917 Huy hiệu bạc15 Huy hiệu đồng Nếu bạn muốn tải xuống dữ liệu nhị phân, hãy nhìn vào đây Cập nhật 2020.06.14 Tôi nâng cấp Chrome lên 83.0 trở lên, vì vậy Snippet Stop hoạt động (do hạn chế bảo mật hộp cát) - nhưng phiên bản JSFiddle hoạt động - tại đâyJun 1, 2010 at 19:03
Đã trả lời ngày 21 tháng 4 năm 2019 lúc 16:13 Kamil Kiełczewskikamil Kiełczewski
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 điều này: BakedGoods* 6Sử dụng tệp RAW, FileWriter và API hệ thống tập tin 7Mặc dù API FileSystem và FileWriter không còn theo dõi tiêu chuẩn, việc sử dụng chúng có thể được chứng minh trong một số trường hợp, theo ý kiến của tôi, bởi vì:
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. *Bakedegoods được duy trì bởi không ai khác ngoài anh chàng này ngay tại đây :) Đã trả lời ngày 7 tháng 7 năm 2016 lúc 21:15Jul 7, 2016 at 21:15
KevinkevinKevin 2.51729 huy hiệu bạc35 huy hiệu đồng29 silver badges35 bronze badges Chủ đề này là vô giá để tìm ra cách tạo tệp nhị phân và nhắc tải xuống tệp có tên, tất cả trong mã máy khách mà không cần máy chủ. Bước đầu tiên đối với tôi là tạo ra Binary Blob từ dữ liệu mà tôi đang lưu. Có rất nhiều mẫu để thực hiện việc này cho một loại nhị phân duy nhất, trong trường hợp của tôi, tôi có định dạng nhị phân với nhiều loại mà bạn có thể vượt qua như một mảng để tạo Blob. 8Bước tiếp theo là nhờ trình duyệt nhắc người dùng tải xuống blob này với tên được xác định trước. Tất cả những gì tôi cần là một liên kết được đặt tên tôi đã thêm vào HTML5 mà tôi có thể sử dụng lại để đổi tên tên tệp ban đầu. Tôi giữ nó ẩn vì liên kết không cần hiển thị. 9Bước cuối cùng là nhắc người dùng tải xuống tệp. 0
Stephen Rauch ♦♦ 45,8K30 Huy hiệu vàng105 Huy hiệu bạc126 Huy hiệu Đồng30 gold badges105 silver badges126 bronze badges Đã trả lời ngày 8 tháng 11 năm 2018 lúc 0:36Nov 8, 2018 at 0:36
Khi kiểm tra phương pháp "AHREF", tôi thấy rằng các công cụ phát triển web của Firefox và Chrome bị nhầm lẫn. Tôi cần phải khởi động lại việc gỡ lỗi sau khi a.click () được ban hành. Điều tương tự đã xảy ra với FilesAvers (nó sử dụng cùng một phương thức AHREF để thực sự tạo ra việc lưu). Để làm việc xung quanh nó, tôi đã tạo cửa sổ tạm thời mới, thêm phần tử A vào đó và nhấp vào nó ở đó. 1Đã trả lời ngày 29 tháng 7 năm 2020 lúc 19:10Jul 29, 2020 at 19:10
Dưới đây là hướng dẫn để xuất các tệp dưới dạng zip: Trước khi bắt đầu, có một thư viện để lưu các tệp, tên của thư viện là fileSaver.js, bạn có thể tìm thấy thư viện này ở đây. Hãy bắt đầu, bây giờ, bao gồm các thư viện cần thiết: 2Bây giờ sao chép mã này và mã này sẽ tải xuống tệp zip với tệp hello.txt có nội dung xin chào thế giới. Nếu mọi thứ mọi thứ hoạt động tốt, điều này sẽ tải xuống một tập tin. 3Điều này sẽ tải xuống một tập tin có tên File.zip. Bạn có thể đọc thêm ở đây: http://www.wapgee.com/story/248/guide-to-create-zip-files-using-javascript-by-sing-jszip-library Đã trả lời ngày 30 tháng 9 năm 2017 lúc 9:46Sep 30, 2017 at 9:46
Ilyas Karimilyas KarimIlyas karim 4.3284 Huy hiệu vàng31 Huy hiệu bạc46 Huy hiệu đồng4 gold badges31 silver badges46 bronze badges Bạn có thể sử dụng điều này để lưu văn bản và dữ liệu khác: 4Hàm này sẽ tạo một phần tử neo, đặt tên thông qua. Download (nếu được hỗ trợ), gán một URL (.HREF) được tạo từ một đối tượng (url.createObjectURL), trong trường hợp này là một đối tượng blob và gửi sự kiện nhấp chuột. Tóm lại: Như thể bạn đang nhấp vào liên kết tải xuống. Mã ví dụ 5Chức năng này cũng chấp nhận tệp, blob và mediasource: 6Hoặc bạn có thể sử dụng hai chức năng: 7Đã trả lời ngày 4 tháng 4 lúc 22:24Apr 4 at 22:24
Người dùngUser Phù hiệu bằng đồng 12788 bronze badges Đối với các tệp đơn giản như 'txt' hoặc'js ', bạn có thể sử dụng gói FS Trình duyệt. Nó có các phương thức tải xuống và xuất và dễ dàng cho các phương thức máy khách không gây ra bất kỳ máy chủ nào. 8Nếu bạn muốn thay đổi tên của tệp hoặc thậm chí loại đó, bạn có thể làm điều đó một cách dễ dàng với điều này: 9Đối với các tệp phức tạp hơn, bạn sẽ cần liên quan đến một máy chủ như bạn đã nói. Gói cũng có thể thực hiện điều đó với các tệp Excel ('XLS') nếu đó là những gì bạn cần. 0Có lẽ trong tương lai cũng có một loại tệp khác. Đã trả lời ngày 12 tháng 10 năm 2021 lúc 16:36Oct 12, 2021 at 16:36
Làm cách nào để lưu một tệp văn bản trong JavaScript?Các cách có thể để tạo và lưu các tệp trong javascript là: Sử dụng thư viện có tên FilesAver-saveas (tệp mới (["nội dung"], "demo.txt", {type: "text/plain; charet = utf-8"} )); Tạo một đối tượng Blob và cung cấp một bản lưu dưới dạng.Use a library called FileSaver – saveAs(new File(["CONTENT"], "demo. txt", {type: "text/plain;charset=utf-8"})); Create a blob object and offer a “save as”.
Save () làm gì trong JavaScript?Save () làm gì trong JavaScript?Phương thức Save () của API khung hình 2D để lưu toàn bộ trạng thái của khung vẽ bằng cách đẩy trạng thái hiện tại lên một ngăn xếp.saves the entire state of the canvas by pushing the current state onto a stack.
Làm thế nào để bạn viết một chuỗi vào một tệp trong nút js?Hiện tại có ba cách để viết một tập tin:.. FS.WRITE (FD, bộ đệm, bù, độ dài, vị trí, gọi lại) Bạn cần đợi cuộc gọi lại để đảm bảo rằng bộ đệm được ghi vào đĩa..... fs.writefile (tên tệp, dữ liệu, [mã hóa], gọi lại) .... fs.createwriteStream (đường dẫn, [tùy chọn]). Bạn có thể viết vào một tệp văn bản trong 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 có tên là Write 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ó.there is a function named “writeFile”, whose sole purpose is to write data to a file specified within its path. |