是否可以使用javascript将文件保存到特定目录?

时间:2019-04-03 07:05:58

标签: javascript

使用Filesaver.js插件下载文本文件。默认情况下,在我的下载文件夹中下载文件。需要将下载的文件存储在特定的文件夹中。

2 个答案:

答案 0 :(得分:2)

  

答案是否定的,   由于安全原因,无法更改目录   文件API。

https://github.com/eligrey/FileSaver.js/issues/42

答案 1 :(得分:1)

不可能...幸运的是!想象一下,如果在您的浏览器中运行的JS可以更改您的文件系统,将会发生什么。安全漏洞将是如此之大,以至每个人都(并且肯定应该)停止使用互联网。想象一下,我建立了一个网站,该网站onload会触发将 a 文件保存在文件系统中的代码。该文件位于您的cron.daily目录中(假设您使用Linux)。 文件在做什么?-您可能会问(如果您知道它已经保存过:smiling_imp :)。没什么特别的-只是寻找一些私有数据,完成后它会从/usr/bin/proc/sys甚至/etc中删除随机文件-只是看看会发生什么。

您现在看到问题了吗?在您对此不能做出反应之前,在浏览器中运行的代码具有将任何内容保存在文件系统中的功能。要给用户文件 ,唯一可以做的就是使用Filesaver.js之类的模块,实际上它根本无法访问用户的文件系统。它只是直接向文件发出GET请求,而由浏览器下载文件(因为这就是浏览器的工作方式)。因此,更改下载文件位置的唯一方法是更改​​浏览器设置。我没有其他办法。