将文件保存到指定目录(JavaScript)

5
你好!我的问题涉及到JavaScript。
我想要:
1. 要求用户选择一个目录
2. 然后将我的一堆文件写入该目录(可能会创建子目录),而不需要与用户进行交互。
我该如何做到这一点?我可以吗?
我对JavaScript很陌生,希望能得到您的帮助。
PS.
我听说过可以通过“保存文件对话框”询问用户选择路径,然后将数据保存到所选文件中,但我想要仅询问用户选择一次目录,然后在其中创建一堆文件,而不会在每个文件上打扰用户。

1
如果您只使用JavaScript完成此操作,请注意,您将把文件保存到用户自己的计算机上(也就是说,他正在使用鼠标/键盘的计算机)。这符合您的要求吗?还是您想将文件/子目录写入服务器计算机(例如Web服务器)? - cssyphus
@gibberish 是的,我想把我的文件保存到用户自己的电脑上。 - Filipp Voronov
文件是来自Web服务器还是用户自己计算机上的其他位置?(抱歉问这个问题,需要确保您正在做什么) - cssyphus
数据也可以通过JavaScript动态生成。PS 不用道歉,非常感谢你的回复! - Filipp Voronov
我不知道你打算用这个做什么,但如果一个网站突然强制让我下载很多文件到我的电脑上,我个人是不喜欢的。 - Ivotje50
例如,@Ivotje50是一个在线存档工具,可以将存档文件提取到指定的文件夹中。 - Filipp Voronov
1个回答

5
JavaScript本身没有任何方法可以访问本地计算机的文件系统进行写入操作。但是,Downloadify是由Doug Neiner开发的,旨在实现此目的,并使用了JavaScript和Flash库的组合。

它需要Flash 10才能工作。

或者,您可以将Apache安装到计算机上(或者更好的选择是像XAMPP或WAMP/MAMP/LAMP这样的完整堆栈),并使用PHP(带有JavaScript/ajax)将文件写入本地文件系统。但是,这意味着网站也必须在本地托管。最好的选择可能是Downloadify

资源:

https://github.com/dcneiner/Downloadify

如何使用jquery创建xml文件

使用Jquery保存内容?写入文件


使用AJAX将数据保存到服务器端文件


据我所了解,使用Downloadify时,我必须为每个要保存的文件询问用户。有没有办法只问一次用户(选择目录),然后保存多个文件而不需要其他保存对话框? - Filipp Voronov
据我所知,由于本地写功能直接违反了js的安全要求,因此没有这样的功能。 - cssyphus
我希望这是可能的(因为我要求用户输入目录)。是否有任何方法可以做到这一点?(我知道Java小程序可以实现,但它们不够用户友好) - Filipp Voronov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接