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

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ựng

Trong 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:

  1. Một chức năng JavaScript bắn vào sự kiện nhấp vào nút.JavaScript function that fire on the button click event.
  2. Tạo một hàm tạo
    
    
    
        
        
        How to Create and Save text file in JavaScript
        
    
        
    
            function saveStaticDataToFile[] {
                var blob = new Blob[["Welcome to Websparrow.org."],
                    { type: "text/plain;charset=utf-8" }];
                saveAs[blob, "static.txt"];
            }
    		
        
    
    
    
        Click to Save
    
    
    
    1, truyền dữ liệu trong đó để lưu và đề cập đến loại dữ liệu.
  3. Và cuối cùng, hãy gọi chức năng
    
    
    
        
        
        How to Create and Save text file in JavaScript
        
    
        
    
            function saveStaticDataToFile[] {
                var blob = new Blob[["Welcome to Websparrow.org."],
                    { type: "text/plain;charset=utf-8" }];
                saveAs[blob, "static.txt"];
            }
    		
        
    
    
    
        Click to Save
    
    
    
    2 của thư viện filesaver.js.

Lưu ý: Để tạo và lưu dữ liệu vào một tệp văn bản, tôi đã sử dụng thư viện FileSaver.js của bên thứ ba. To create and save data into a text file, I have used a third party FileSaver.js library.

Hãy để nhảy vào phần ngon ngọt thực tế của mã.

1. Lưu dữ liệu tĩnh

1.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.

function saveStaticDataToFile[] {
}

1.2 khởi tạo đối tượng




    
    
    How to Create and Save text file in JavaScript
    

    

        function saveStaticDataToFile[] {
            var blob = new Blob[["Welcome to Websparrow.org."],
                { type: "text/plain;charset=utf-8" }];
            saveAs[blob, "static.txt"];
        }
		
    



    Click to Save


1 và chuyển chuỗi văn bản dưới dạng tham số và loại BLOB đầu tiên là tham số thứ hai. Instantiate the



    
    
    How to Create and Save text file in JavaScript
    

    

        function saveStaticDataToFile[] {
            var blob = new Blob[["Welcome to Websparrow.org."],
                { type: "text/plain;charset=utf-8" }];
            saveAs[blob, "static.txt"];
        }
		
    



    Click to Save


1 object and pass a text string as the first parameter and blob type as the second parameter.

var blob = new Blob[["Welcome to Websparrow.org."],
                { type: "text/plain;charset=utf-8" }];

1.3 Bây giờ hãy gọi chức năng




    
    
    How to Create and Save text file in JavaScript
    

    

        function saveStaticDataToFile[] {
            var blob = new Blob[["Welcome to Websparrow.org."],
                { type: "text/plain;charset=utf-8" }];
            saveAs[blob, "static.txt"];
        }
		
    



    Click to Save


4 lấy đối tượng Blob làm đầu vào và cho phép bạn lưu tệp trên trình duyệt web. Now call the



    
    
    How to Create and Save text file in JavaScript
    

    

        function saveStaticDataToFile[] {
            var blob = new Blob[["Welcome to Websparrow.org."],
                { type: "text/plain;charset=utf-8" }];
            saveAs[blob, "static.txt"];
        }
		
    



    Click to Save


4 function which takes blob object as input and let you save files on web browser.

saveAs[blob, "static.txt"];

Kiểm tra ví dụ hoàn chỉnh.




    
    
    How to Create and Save text file in JavaScript
    

    

        function saveStaticDataToFile[] {
            var blob = new Blob[["Welcome to Websparrow.org."],
                { type: "text/plain;charset=utf-8" }];
            saveAs[blob, "static.txt"];
        }
		
    



    Click to Save


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




    
    
    How to Create and Save text file in JavaScript
    

    

        function saveStaticDataToFile[] {
            var blob = new Blob[["Welcome to Websparrow.org."],
                { type: "text/plain;charset=utf-8" }];
            saveAs[blob, "static.txt"];
        }
		
    



    Click to Save


1. Kiểm tra ví dụ mã hoàn chỉnh.




    
    
    How to Create and Save text file in JavaScript
    
    

		function saveDynamicDataToFile[] {

            var userInput = document.getElementById["myText"].value;
			
            var blob = new Blob[[userInput], { type: "text/plain;charset=utf-8" }];
            saveAs[blob, "dynamic.txt"];
        }

    



    
 We love to share our experiments, ideas, and knowledge with everyone by writing articles on the latest technology trends.
    

    Click to Save
	

Hãy nhớ rằng: Don Tiết quên nhập thư viện FileSaver.js trong tài liệu của bạn [html/jsp/etc]. Don’t forget to import FileSaver.js library in your document [html/jsp/etc].

Xong. Cảm ơn bạn 🙂

Người giới thiệu

  1. Thư viện FileSaver.jsp
  2. Hầu hết các công nghệ phổ biến
  3. Blob- API Web | Mdn

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.
Learn more.

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 ...

function download[filename, text] {
    var pom = document.createElement['a'];
    pom.setAttribute['href', 'data:text/plain;charset=utf-8,' + encodeURIComponent[text]];
    pom.setAttribute['download', filename];

    if [document.createEvent] {
        var event = document.createEvent['MouseEvents'];
        event.initEvent['click', true, true];
        pom.dispatchEvent[event];
    }
    else {
        pom.click[];
    }
}

Cách sử dụng

download['test.txt', 'Hello world!'];

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:

uriContent = "data:application/octet-stream," + encodeURIComponent[content];

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:

newWindow = window.open[uriContent, 'neuesDokument'];

Đó 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




    
    
    How to Create and Save text file in JavaScript
    

    

        function saveStaticDataToFile[] {
            var blob = new Blob[["Welcome to Websparrow.org."],
                { type: "text/plain;charset=utf-8" }];
            saveAs[blob, "static.txt"];
        }
		
    



    Click to Save


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



    
    
    How to Create and Save text file in JavaScript
    

    

        function saveStaticDataToFile[] {
            var blob = new Blob[["Welcome to Websparrow.org."],
                { type: "text/plain;charset=utf-8" }];
            saveAs[blob, "static.txt"];
        }
		
    



    Click to Save


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ớn

URI 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




    
    
    How to Create and Save text file in JavaScript
    

    

        function saveStaticDataToFile[] {
            var blob = new Blob[["Welcome to Websparrow.org."],
                { type: "text/plain;charset=utf-8" }];
            saveAs[blob, "static.txt"];
        }
		
    



    Click to Save


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



    
    
    How to Create and Save text file in JavaScript
    

    

        function saveStaticDataToFile[] {
            var blob = new Blob[["Welcome to Websparrow.org."],
                { type: "text/plain;charset=utf-8" }];
            saveAs[blob, "static.txt"];
        }
		
    



    Click to Save


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ống

Nế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




    
    
    How to Create and Save text file in JavaScript
    
    

		function saveDynamicDataToFile[] {

            var userInput = document.getElementById["myText"].value;
			
            var blob = new Blob[[userInput], { type: "text/plain;charset=utf-8" }];
            saveAs[blob, "dynamic.txt"];
        }

    



    
 We love to share our experiments, ideas, and knowledge with everyone by writing articles on the latest technology trends.
    

    Click to Save
	

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



    
    
    How to Create and Save text file in JavaScript
    
    

		function saveDynamicDataToFile[] {

            var userInput = document.getElementById["myText"].value;
			
            var blob = new Blob[[userInput], { type: "text/plain;charset=utf-8" }];
            saveAs[blob, "dynamic.txt"];
        }

    



    
 We love to share our experiments, ideas, and knowledge with everyone by writing articles on the latest technology trends.
    

    Click to Save
	

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ệp

Nế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




    
    
    How to Create and Save text file in JavaScript
    
    

		function saveDynamicDataToFile[] {

            var userInput = document.getElementById["myText"].value;
			
            var blob = new Blob[[userInput], { type: "text/plain;charset=utf-8" }];
            saveAs[blob, "dynamic.txt"];
        }

    



    
 We love to share our experiments, ideas, and knowledge with everyone by writing articles on the latest technology trends.
    

    Click to Save
	

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ụ

var file;
var data = [];
data.push["This is a test\n"];
data.push["Of creating a file\n"];
data.push["In a browser\n"];
var properties = {type: 'text/plain'}; // Specify the file's mime-type.
try {
  // Specify the filename using the File constructor, but ...
  file = new File[data, "file.txt", properties];
} catch [e] {
  // ... fall back to the Blob constructor if that isn't supported.
  file = new Blob[data, properties];
}
var url = URL.createObjectURL[file];
document.getElementById['link'].href = url;
var blob = new Blob[["Welcome to Websparrow.org."],
                { type: "text/plain;charset=utf-8" }];
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

var blob = new Blob[["Welcome to Websparrow.org."],
                { type: "text/plain;charset=utf-8" }];
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.

Tải xuống là một thư viện flash JavaScript + nhỏ cho phép tạo và lưu các tệp một cách nhanh chóng, trong trình duyệt, không có tương tác máy chủ.

Đã 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!

var blob = new Blob[["Welcome to Websparrow.org."],
                { type: "text/plain;charset=utf-8" }];
2

Cô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 [//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.
For example, I did this function to export logs displayed on a page.
You have to pass an array for the instanciation of the Blob, so I just maybe didn't write this the right way, but it works for me.
Just in case, be careful with the replace: this is the syntax to make this global, otherwise it will only replace the first one he meets.

var blob = new Blob[["Welcome to Websparrow.org."],
                { type: "text/plain;charset=utf-8" }];
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!

var blob = new Blob[["Welcome to Websparrow.org."],
                { type: "text/plain;charset=utf-8" }];
4

Cô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

var blob = new Blob[["Welcome to Websparrow.org."],
                { type: "text/plain;charset=utf-8" }];
5

Tôi đã sử dụng FileSaver [//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:56

Razakhelrazakhel

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

//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ử




    
    
    How to Create and Save text file in JavaScript
    
    

		function saveDynamicDataToFile[] {

            var userInput = document.getElementById["myText"].value;
			
            var blob = new Blob[[userInput], { type: "text/plain;charset=utf-8" }];
            saveAs[blob, "dynamic.txt"];
        }

    



    
 We love to share our experiments, ideas, and knowledge with everyone by writing articles on the latest technology trends.
    

    Click to Save
	

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ử



    
    
    How to Create and Save text file in JavaScript
    
    

		function saveDynamicDataToFile[] {

            var userInput = document.getElementById["myText"].value;
			
            var blob = new Blob[[userInput], { type: "text/plain;charset=utf-8" }];
            saveAs[blob, "dynamic.txt"];
        }

    



    
 We love to share our experiments, ideas, and knowledge with everyone by writing articles on the latest technology trends.
    

    Click to Save
	

3 với dữ liệu tải xuống, thực thi



    
    
    How to Create and Save text file in JavaScript
    
    

		function saveDynamicDataToFile[] {

            var userInput = document.getElementById["myText"].value;
			
            var blob = new Blob[[userInput], { type: "text/plain;charset=utf-8" }];
            saveAs[blob, "dynamic.txt"];
        }

    



    
 We love to share our experiments, ideas, and knowledge with everyone by writing articles on the latest technology trends.
    

    Click to Save
	

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

  • 76.3K26 Huy hiệu vàng338 Huy hiệu bạc315 Huy hiệu đồng
  • Đây là một liên kết đến phương thức URI dữ liệu Mathew đề xuất, nó đã hoạt động trên Safari, nhưng không tốt vì tôi không thể thiết lập kiểu tệp, nó được lưu là "không xác định" và sau đó tôi phải đến đó một lần nữa và thay đổi nó theo thứ tự Để xem tệp ...
  • Đã trả lời ngày 14 tháng 9 năm 2010 lúc 14:41
  • Dennksterdennkstersandbox [a location on disk outside of which files can produce no effect] is used to store the files created with the APIs
  • 2.0712 Huy hiệu vàng15 Huy hiệu bạc13 Huy hiệu đồngvirtual file system [a directory structure which does not necessarily exist on disk in the same form that it does when accessed from within the browser] is used represent the files created with the APIs

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*

var blob = new Blob[["Welcome to Websparrow.org."],
                { type: "text/plain;charset=utf-8" }];
6

Sử dụng tệp RAW, FileWriter và API hệ thống tập tin

var blob = new Blob[["Welcome to Websparrow.org."],
                { type: "text/plain;charset=utf-8" }];
7

Mặ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ì:

  • Sự quan tâm được đổi mới từ các nhà cung cấp trình duyệt không thực hiện có thể đặt chúng trở lại ngay trên nó
  • Sự thâm nhập thị trường của các trình duyệt thực hiện [dựa trên crom] cao
  • 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.

*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.

var blob = new Blob[["Welcome to Websparrow.org."],
                { type: "text/plain;charset=utf-8" }];
8

Bướ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ị.

var blob = new Blob[["Welcome to Websparrow.org."],
                { type: "text/plain;charset=utf-8" }];
9

Bước cuối cùng là nhắc người dùng tải xuống tệp.

saveAs[blob, "static.txt"];
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ó ở đó.

saveAs[blob, "static.txt"];
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:

saveAs[blob, "static.txt"];
2

Bâ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.

saveAs[blob, "static.txt"];
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: //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:

saveAs[blob, "static.txt"];
4

Hà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ụ

saveAs[blob, "static.txt"];
5

Chức năng này cũng chấp nhận tệp, blob và mediasource:

saveAs[blob, "static.txt"];
6

Hoặc bạn có thể sử dụng hai chức năng:

saveAs[blob, "static.txt"];
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.
It has nice and easy download and export methods for client-side which do not invole any server.

saveAs[blob, "static.txt"];
8

Nế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:

saveAs[blob, "static.txt"];
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.
The package can also does that with excel files ['xls'] if that is what you need.




    
    
    How to Create and Save text file in JavaScript
    

    

        function saveStaticDataToFile[] {
            var blob = new Blob[["Welcome to Websparrow.org."],
                { type: "text/plain;charset=utf-8" }];
            saveAs[blob, "static.txt"];
        }
		
    



    Click to Save


0

Có 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.

Bài Viết Liên Quan

Chủ Đề