Use JavaScript to write to text file?

17,053

Solution 1

If your're using modern browsers which support data-uri, you can create content with javascript and force a download by base64 encoding it and making it compatible with data-uri, then simply pointing window location at it.

This answer demonstrates an HTML-only way to do it.

You can also use a flash helper to take care of this. For instance, Downloadify does this.

Solution 2

JavaScript cannot read/write files from the client or write files to the server (directly).

If you want to write files to the server consider using server-side scripts that will interact with your javascript - and example on how to do this with a little bit of PHP.

In terms of client file interaction this is simply impossible for security reasons (unless it is uploaded to the script in which case it is read accessible).

You can however store data on clients - I have previously been using jStorage and highly recommend it. It works cross-browser (even on IE 6) and is extremely easy to use.

Share:
17,053
Robert
Author by

Robert

Updated on June 04, 2022

Comments

  • Robert
    Robert almost 2 years

    I have a need to capture the topics of a search from one of my blog pages and write it to text file for followup. I have been able to capture the input string, however, am not able to write it to a text file. I have read and tried to implement all the solutions I have found with no success. I include a very simple sample of code to write text to file but I can't get it to work. The Onblur event functions fine to access myFunction, so that's not problem. I'm going crazy as samples shown from others are so simple.

        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" >
        <html xmlns="http://www.w3.org/1999/xhtml">
    
        <head>
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
        <title>fs=Server CreateObject ("Scripting FileSystemObject")</title>
        <script type="text/javascript">
        function myFunction()
        {
            var fs = ActiveXObject("Scripting.FileSystemObject");
            var f = fs.OpenTextFile("d:\\test\\topics.txt", 8, true);
            f.WriteLine("This text will be added to the end of file");
            f.Close();
        }
        </script>
        </head>
    
        <body>
        <input name="Text1" type="text" size="55" onblur="myFunction()" />
    
        </body>
    
        </html>