【发布时间】:2015-09-08 11:58:20
【问题描述】:
我知道浏览器不允许 JavaScript 直接在计算机上做很多事情,这不是我的问题。我的问题是:如何使用 JavaScript 在网络上创建一个文件,然后询问(可能会通过一个弹出窗口)下载该文件夹和其中的任何文件。此文件夹需要允许 JavaScript 访问以在其中放置文件,例如图像文件。此文件夹最初可能只是另一个 JavaScript 值(如对象)或 URL。
我进行了研究,但我发现的大部分内容是询问 JavaScript 是否可以直接在计算机上创建一个文件夹,而我的问题是询问创建文件夹,然后要求下载它。一定有办法,因为在 Google Drive 中,drive 可以将多个文件放在一个 .zip 文件夹中以供下载,这不仅适用于 Chrome,也适用于 Firefox 和 Internet Explorer。像http://stuk.github.io/jszip/ 这样的一些网站提供了自己的方式来创建 .zip 文件,但如果可能的话,我不希望使用 JavaScript 库。
这对于生成多个图像文件很有用,但只要求用户下载一次,而不是每个文件。
我更愿意在客户端创建 zips。
【问题讨论】:
-
单独使用 JavaScript 是可能的,但它相对复杂。谷歌在服务器上制作拉链,这是一个简单的解决方案。
-
@Juhana,这是您评论的好信息。尽管它很复杂,但是否有您推荐的资源来了解有关在客户端创建 zips 的更多信息?如果您还没有一个想法,请不要太担心找到一个。再次感谢您的回复。
-
如果您不想使用现成的库来创建 zip,则必须自己制作。您必须阅读 zip 压缩的工作原理,在 JS 中实现算法,并了解如何将创建的文件传递给用户。但除非您特别想学习如何实现 zip 压缩,否则没有太多理由重新发明轮子。
-
@Juhana,你是对的。也许我可以使用图书馆。 :)
标签: javascript html download directory