Javascript file system access.

Q. I am working on a file upload web application and I want the user to be able to easily select multiple files and/or folders for upload. Also, I want to verify proper size of files before they are uploaded. How do I access files and folders from my Javascript code?

A. In Javascript filesystem access is a privileged operation and requires a digitally signed ActiveX component. Your Javascript code cannot access the files and folders directly and the ActiveX component performs the operation in a secure way on behalf of the script. This complication is necessary to make sure that script is not able to obtain unauthorized information from the users' computers or corrupt their systems.

Georgia SoftWorks WWWFiles is an ActiveX web component digitally signed by Georgia SoftWorks which allows Javascript applications to access (with user's permission) the client machine's file system, select files, folders and query their properties. This includes all files and folders accessible to the currently logged on user. No file information is available to the script unless the file is selected by the user. In other words, the script does not have the capability to initiate a properties query of arbitrary files and folders. Instead, it gets a callback after the user selected one or more files and folders through the GUI provided by WWWFiles. WWWFiles component is not provided to subvert the Javascript security model but rather to work with it. With WWWFiles the developer has an efficient web component that provides a rich user experience while preventing malicious scripts from being able to gain unauthorized access to the users' computers.

Get it from CNET Download.com!
WWWFiles boxshot  
  • Microsoft Windows Explorer - like file system display and navigation
  • Configurable initial folder with special folder support
  • Ability to limit user's folder navigation to one folder with its subfolders
  • Configurable background and foreground colors with HTML color support and Microsoft Windows System Colors support
  • Shell icon support
  • Multiple item selection
  • Event driven programming model
  • Current folder change notification
  • Selection change notification
  • Access to file attributes, size, creation, last access, and last write date and time
  • Symbolic constants to avoid misspells