如何使用 javascript 在客户端系统中提取 Zip 文件
我在服务器中有一个 Zip 文件。我正在下载 zip 文件并保存到客户端系统中。现在我想使用 javascript 提取文件。 有人请帮助我。 提前致谢。
I have a Zip file in server.i am downloading the zip file save into client system.now i want to extract file using javascript.
anybody please help me.
thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用 Javascript 在浏览器中将 zip 文件解压缩到内存中。
此答案展示了如何操作。
浏览器中的 js 代码如下所示:
在您提供的
DoSomethingWithEntries
方法中,您可以摆弄表示提取的 zip 文件的对象。如上所示,您可以发出条目列表及其名称、大小、日期等。
您还可以对每个 zip 条目调用
extract()
方法。 (此处未显示)如果提取,提取会异步发生。内容被扩展为字节数组或字符串(取决于条目是二进制还是文本),并保存在浏览器 JavaScript 环境的内存中。然后,您可以显示从压缩条目中提取的内容,或者您喜欢的任何内容。
我不相信你可以与文件系统交互,无论是读还是写,除非你求助于普通 javascript 之外的东西——比如 Google Gears、Silverlight 和 Flash。
You can unzip zipfiles in memory, within a browser, using Javascript.
This answer shows how.
The js code in the browser looks like this:
Inside the
DoSomethingWithEntries
method, which you provide, you can fiddle with an object that represents the extracted zip file.As shown above, you can emit lists of the entries with their name, size, date, and so on.
You can also call an
extract()
method on each zip entry. (not shown here)If you extract, the extraction happens asynchronously. The content gets expanded into byte arrays or strings (depending on whether the entries are binary or text) that are maintained in the memory of the browser javascript environment. You could then display the extracted content from the zipped entries, or whatever you like.
I don't believe you can interact with the filesystem, either reading or writing, unless you resort to something outside of vanilla javascript - like Google Gears, Silverlight, and Flash.
根据设计,JavaScript 无法访问文件系统。
它可能可以通过ActiveX、java applet 等实现...
By design javascript can't access the filesystem.
It may be possible with ActiveX, java applets etc...
如果您在 Windows 上使用 Internet Explorer,则可以使用 ActiveX 来利用默认情况下可用的一堆 COM 对象,例如使用
WScript.Shell
执行 shell 执行:显然,这需要相当荒谬的用户端的安全设置,除非这是您自己使用的东西,否则您应该让用户决定是否要下载和提取您的文件。
If you are using Internet Explorer on Windows you can use ActiveX to exploit a bunch of COM objects that are available by default, such as using
WScript.Shell
to perform shell executes:Obviously, this would require quite ridiculous security settings on the user's side and unless this is something you're putting together for your own use you should leave it up to the users to decide whether they want to download and extract your files or not.