javascript code to save a txt file

后端 未结 6 1113
走了就别回头了
走了就别回头了 2021-01-06 12:50

can any body tell me how i create a .txt file using javascript which is browser compatable too.

and after creating the file it gives the save as diaglog box so that

相关标签:
6条回答
  • 2021-01-06 13:26

    you need to send the data to the server and then offer a link to download it. Here's a terrible example with jquery and php just to give you basic idea.

    $.ajax({
        type: "post",
        url: "ajax.php",
        data: {
            type: "save",
            text: "this is some text you want to send"
        },
        dataType: "json",
        success: function(data){
            window.open(data["url"]);
        }
    });
    

    ajax.php

    <?php
        if($_POST["type"] == "save"){
            $name = "random_name.txt";
            file_put_contents("$name",$_POST["text"]);
    
            echo json_encode(array(
                "type" => "link",
                "url" => "http://yourserver.com/{$name}"
            ));
        }
    
    ?>
    
    0 讨论(0)
  • 2021-01-06 13:41

    If you're looking for IE only solution, try this:

    function createFile() {
        set fso = new ActiveXObject("Scripting.FileSystemObject");
        set s = fso.CreateTextFile("C:\test.txt", True);
        s.writeline("HI");
        s.writeline("Bye");
        s.writeline("-----------------------------");
        s.Close();
    }
    
    0 讨论(0)
  • 2021-01-06 13:42

    You can't do this, for hopefully obvious security reasons. JavaScript has no access to the file system...in IE it's not JavaScript, but ActiveX doing this...it just has a JavaScript API exposed.

    The problem isn't that Firefox doesn't do this...it's that IE ever allowed it :)

    In this post In Firefox, Write to a File using Javascript?

    0 讨论(0)
  • 2021-01-06 13:42

    You can only do this by sending your data to a server-side language, which can write to files. Then you could send the location of the file back and redirect the user there.

    0 讨论(0)
  • 2021-01-06 13:44

    One may indeed initiate data URL downloads, including in a way to prompt a file dialog (though not with a default path or even file type). See https://stackoverflow.com/a/13696029/271577 for such a solution (along with text link examples). That being said, opening the content in a new tab via data URLs may be a better solution if you can get users to manually save using their browser.

    0 讨论(0)
  • 2021-01-06 13:46

    For a great example of how to do this, look at TiddlyWiki which implements a single user wiki in Javascript. It supports all the major browsers and in each will save a copy of itself to the local disk.

    It uses the FileSystemObject in IE (as described previously in this question) The best info for file saves in FireFox is https://developer.mozilla.org/en/Code_snippets/File_I%2F%2FO

    For Chrome, Opera & Safari is uses a little applet:

    The TiddlySaver Java applet allows TiddlyWiki to save changes in a local version (from a file:// URL) of Safari, Opera and other browsers.

    0 讨论(0)
提交回复
热议问题