Click here to Skip to main content
11,805,604 members (58,569 online)
Click here to Skip to main content

File Handling at Client Side Using Javascript

, 28 May 2007 CPOL 124.1K 25
Rate this:
Please Sign up or sign in to vote.
File handling at client-side using Javascript.


JavaScript has a very rich ensemble of methods and properties to create, manipulate, and manage drives, files, and folders. You can use JavaScript as you would any other modern programming language. For example, you can use it to open files, write to a file, read from it, etc.

Using the Code

File handling in JavaScript can be done using the FileSystemObject object and its properties and methods. This object is part of Microsoft's Scripting Engine, and thus this is applicable only to Microsoft Windows Operating Systems.

The following piece of code creates a new file at the specified location and write the line "File handling in JavaScript" into it.

var fso = new ActiveXObject("Scripting.FileSystemObject");
// 2=overwrite, true=create if not exist, 0 = ASCII
varFileObject = fso.OpenTextFile("C:\\Sachin.txt", 2, true,0);
varFileObject.write("File handling in Javascript");

The parameters for the function OpenTextFile are as follows:

Parameter 1: PATH - The file gets created at the path specified on the client machine. If only the file name is mentioned here, the file gets saved on the desktop of the client system.

Parameter 2: I/O mode, indicates the mode of file opening. Possible values are:

  • 1: Opens the file for reading.
  • 2: Opens the file for writing.
  • 8: Opens the file for appending.

Parameter 3: CREATE is a boolean value indicating whether to create the file if it does not exist (true) or to issue an error message if the file does not exist (false).

Parameter 4: FORMAT is optional and indicates the file type. If not specified, the default file type is ASCII. The possible values of format are:

  • TristateUseDefault - 2: Opens the file using the system default
  • TristateTrue -1: Opens the file as Unicode
  • TristateFalse 0: Opens the file as ASCII

The following are some of the methods provided by FileSystemObject for file handling:

MoveFile(source, destination)
MoveFolder(source, destination)
CopyFile(source, destination, overwriteFlag) //overwriteFlag= true/false
CopyFolder(source, destination, overwriteFlag) //overwriteFlag= true/false
CreateTextFile(fileName, overwriteFlag)//overwriteFlag= true/false
DeleteFile(fileName, readPermissionFlag)//readPermissionFlag= true/false
DeleteFolder(folderName, readPermissionFlag)//readPermissionFlag= true/false
GetSpecialFolder(folderCode) /* The given folderCode is either 0 for a 
windows folder, 1 for a system folder, or 2 for a temporary folder. 
A full path is returned. On a typical installation, "c:\windows" 
is returned as the windows folder, "c:\windows\system" is returned 
as the system folder, and "c:\windows\temp" is returned as the temporary folder. */

Points of Interest

There are a few things to note before implementing FileSystemObject. Since it is an ActiveX object, it will not be created if the security level on the client machine is high. So the website has to be added to the trusted site list so that the ActiveX object can be created.

The user must have write access in the path specified while creating a file. In cases where there is uncertainty, it's better to write the file onto the Temporary Folder of the system. The path for the Temp folder can be found using:


The above topic is applicable only for IE. The below link gives an idea of how to implement file operations in Mozilla. The below code can be used to check the browser type:

if (navigator.userAgent.indexOf("Opera") >= 0)
    alert("This example doesn't work in Opera") ; 
    return ;
if (navigator.userAgent.indexOf("MSIE") >= 0)
    alert("This example works in IE") ; 
    return ;
if (navigator.userAgent.indexOf("Mozilla") >= 0)
    alert("This example doesn't work in Mozilla") ; 
    alert("Check the following link: <a href="" + 
          "-object.html" title="" + 
          ".html"></a>") ;
    return ;



This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Web Developer
India India
No Biography provided

You may also be interested in...

Comments and Discussions

QuestionFirst code of this page didn't work Pin
Member 983475417-Aug-13 8:27
memberMember 983475417-Aug-13 8:27 
QuestionHow to avoid IE warning message Pin
Member 950938412-Oct-12 11:18
memberMember 950938412-Oct-12 11:18 
AnswerRe: How to avoid IE warning message Pin
chaitanyasingh19-Feb-13 4:14
memberchaitanyasingh19-Feb-13 4:14 
Questionto create a image file? Pin
rarmentadesa5-Oct-12 6:42
memberrarmentadesa5-Oct-12 6:42 
Generalcount the no of files in a folder Pin
vijaylumar1-Apr-10 21:16
membervijaylumar1-Apr-10 21:16 
GeneralRe: count the no of files in a folder Pin
SachinKumarK2-Apr-10 7:01
memberSachinKumarK2-Apr-10 7:01 
GeneralError :( Pin
ab_dc11-Aug-08 1:24
memberab_dc11-Aug-08 1:24 
GeneralRe: Error :( Pin
SachinKumarK12-Aug-08 4:25
memberSachinKumarK12-Aug-08 4:25 
GeneralRe: Error :( Pin
ab_dc13-Aug-08 1:44
memberab_dc13-Aug-08 1:44 
Still have the same Error :(
GeneralRe: Error :( Pin
SachinKumarK13-Aug-08 23:27
memberSachinKumarK13-Aug-08 23:27 
GeneralRe: Error :( Pin
SachinKumarK17-Aug-08 22:19
memberSachinKumarK17-Aug-08 22:19 
GeneralRe: Error :( Pin
sarathkumarnallathambi6-Mar-13 23:20
membersarathkumarnallathambi6-Mar-13 23:20 
GeneralRegarding reading files in folder ""C:\\Documents and Settings\\Administrator\\Local Settings\\Temporary Internet Files" using javascript Pin
MaheshReddy14-Apr-08 20:42
memberMaheshReddy14-Apr-08 20:42 
Generalhi Pin
rajantawate1(http//rtawate-csharp-book.blogspot.co21-May-07 6:41
memberrajantawate1(http//rtawate-csharp-book.blogspot.co21-May-07 6:41 
GeneralRe: hi Pin
SachinKumarK25-May-07 3:59
memberSachinKumarK25-May-07 3:59 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.151002.1 | Last Updated 29 May 2007
Article Copyright 2007 by SachinKumarK
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid