5


Hello! My question is about javascript.
I want to
1. ask a user to select a directory
2. then write my bunch of files to it (probably with creating sub-directories) without interaction with user

How can I do this? And can I?
I am new in javascript and I hope for your help.

PS.
I've heard about ability to ask a user to select a path by save file dialog and then save data to selected file, but i want to ask a user once for selecting a directory and then create a bunch of files in it without bothering a user for each one.

Filipp Voronov
  • 4,077
  • 5
  • 25
  • 32
  • 1
    If you do this only using javascript, note that you will be saving the files onto the user's own computer (that is, the computer on which he is then using the mouse/keyboard). Is that what you want? Or did you want to write files/subdirs onto a server computer (eg. webserver)? – cssyphus Jan 02 '14 at 18:02
  • @gibberish yes, i want to save my files onto the user's own computer. – Filipp Voronov Jan 02 '14 at 18:05
  • Are the files coming from a webserver, or from a different location on the user's own computer? (sorry for questions, need to be sure of what you are doing) – cssyphus Jan 02 '14 at 18:06
  • @gibberish Data is also generated by javascript on the fly. PS don't be sorry, I really thank you for your response! – Filipp Voronov Jan 02 '14 at 18:12
  • I don't know what you are going to do with this, but i personally wouldn't like it if a website forces me to download (in all of the sudden) a lot of files to my computer. – Ivotje50 Jan 02 '14 at 18:37
  • @Ivotje50 for example an online-archiver, that allows to extract an archive into selected folder – Filipp Voronov Jan 02 '14 at 18:53

1 Answers1

5

Javascript alone doesn't have any way to access the local computer's file system for WRITE purposes. Period.

However, Downloadify, by Doug Neiner, was built for this purpose and uses a combination of Javascript and the Flash library.

It needs Flash 10 to work.

Alternately, you can install apache onto the computer (or better yet, a full stack like XAMPP or WAMP/MAMP/LAMP) and use PHP (with javascript/ajax) to write files onto the local file system. However, this means that the website must also be hosted locally. Probably your best bet is Downloadify

Resources:

https://github.com/dcneiner/Downloadify

How to create xml file with jquery

Save content using Jquery? Write to file


Saving to server-side file using AJAX

Community
  • 1
  • 1
cssyphus
  • 37,875
  • 18
  • 96
  • 111
  • As far as i understood, with Downloadify i have to ask user for each file i want to save. Is there any way to ask user once (to select a directory) and then save a number of files without any other save dialogs? – Filipp Voronov Jan 02 '14 at 18:44
  • Not that I am aware, as local write functionality is directly contrary to the security mandates of js. – cssyphus Jan 02 '14 at 18:50
  • I hoped that this is maybe allowed (because I ask a user for directory). Is there any way to do this? (I know that java applets can do it, but they are not user-friendly) – Filipp Voronov Jan 02 '14 at 19:01