问题标签 [jszip]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
866 浏览

javascript - 为什么 JSZip 不像桌面归档器那样压缩字符串文件?

我有一个大型 JS 对象,我想将其保存到本地存储中。我想将其压缩保存,因此我执行以下操作:

现在,如果我将上面的输出放入 Windows 中的 .txt 文件中,它的大小为 169246,接近 .txt 的输出JSON.stringify。现在我想压缩文件。我使用 WinRAR 压缩了桌面版本进行.zip格式化,它给出了 的输出11284,这是大量压缩。现在我尝试使用 JSZip:

如果我检查压缩内容的大小content.length,我会得到 176296,它甚至比原始的字符串化对象还要大。那我做错了吗?

0 投票
1 回答
504 浏览

javascript - 使用 Cordova FileReader API 创建 zip 文件后损坏的图像文件

我正在构建一个 Cordova 应用程序并使用 FileReader API 来读取可用的图像、视频和音频文件以创建一个 zip 文件。我的代码如下:

此代码完美地创建了 zip 包,对包含的文本文件没有任何问题,但所有媒体文件都已损坏。我可以打开 zip 文件,但是当我尝试打开例如图像时,它显示已损坏。我找不到任何合适的解决方案。来自 API 的 base64 内容似乎存在问题。有人遇到过这种问题吗?

0 投票
1 回答
1944 浏览

javascript - JSZip 内存问题

我的 Node.js 应用程序的内存消耗很高,当一个接一个地加载约 100MB 的 zip 文件时,它会将它们作为“NodeBufferReader”保存在内存中。我正在使用的库称为 JSZip,可在此处找到:https ://stuk.github.io/jszip/

如果我访问同一个 zip 文件两次,那么它不会增加内存使用量,但是对于每个“额外”的 .zip 文件,我访问的内存都会增加大约 .zip 文件的大小。我正在访问的文件都在 100MB 左右或更大,所以你可以想象这有可能变得相当大,相当快。

Node.js 应用程序是一个 websocket 服务器,它从 .zip 文件中读取文件并将它们作为 base64 数据返回给请求者。有问题的功能在这里:

记忆问题

摆脱这个问题的任何帮助将不胜感激 - 谢谢!

工作代码示例

0 投票
1 回答
9029 浏览

javascript - 使用 jsZip 将图像从 url 添加到 zip 文件

我正在尝试使用 jsZip 创建一个 zip 文件。zip 文件的内容是来自网络的图像。我创建了以下代码。但是当我运行它时,得到的是一个 22kb 的空 zip 文件。

(url1、url2 和 url3 替换为我要下载的图片 url)。

为什么我得到这些空的 zip 文件?

0 投票
1 回答
1763 浏览

javascript - 使用 javascript 提取受密码保护的 zip 文件(客户端)

有许多优秀的库可以在客户端打开 zip 文件,例如:zip.js、jszip 等……但我找不到任何可以打开加密 zip 文件的库。是否有在客户端(在浏览器中)打开 zip 文件的解决方案?

0 投票
1 回答
1219 浏览

cordova - 使用 PhoneGap 和 JSZip 压缩和上传文件

我有读取本地文件夹的代码,然后压缩相关文件并将它们上传到服务器:

问题是有时会上传一个空文件,这绝不应该发生。因此,可能是同步问题导致文件在创建 Zip 文件并将其写入存储之前上传。我不确定问题出在哪里。我尝试从 Map 函数返回 Promise,然后使用 Promise.all(...).then() 模式,但有时我仍然得到一个空白文件。所以要么我的实现不正确,要么 zip.generate() 也异步运行(或两者兼而有之)。

在尝试上传之前,如何确保 zip 文件已完全写入存储?

0 投票
1 回答
3890 浏览

javascript - 通过 JSZip 将文件添加到现有的 zip 存档

我有一个 zip 文件,它是一个 Visual Basic 项目。我想看看我是否可以将我的网络应用程序作为目录添加到这个 zip 存档中,这样我就可以轻松地将我的网络应用程序导出为本机 Windows 应用程序

我尝试了文档中的 Ajax 方法,当它在 Firefox 中加载时它在我的硬盘上运行良好,但是从我的网站上它没有调用!

0 投票
2 回答
3630 浏览

node.js - Node.js jszip库解压

我正在编写一些节点代码,并使用 jszip 压缩和解压缩一些文件。我知道如何压缩,但不知道如何解压缩或解压缩。stackoverflow 上有几个链接不起作用。任何人有任何解决方案?以下是我尝试过的

0 投票
0 回答
773 浏览

javascript - 如何从通过 kendoUpload 上传的 zip 文件中删除文件?使用 jszip

用户上传压缩文件后,我想在通过网络发送之前从中删除图像文件夹。我正在使用剑道进行上传,现有功能运行良好。我只想添加删除图像部分。这是我到目前为止所拥有的:

target.result事件中似乎不存在e。从那时起,没有任何东西可以正常工作。e可能应该在 FileReader 对象的 onload() 中使用(如这里这里所示),但我不知道如何将 FileReader 用于我的目的,以及 kendo Upload。

编辑:
我做了更多的阅读,现在我正在使用这样的 FileReader:

注意:file = e.files[0]与第一个代码块一样。尽管如此,我得到了错误:

Failed to execute 'readAsArrayBuffer' on 'FileReader': parameter 1 is not of type 'Blob'.

0 投票
2 回答
19137 浏览

javascript - 如何为(导出到 .xlsx)SheetJS js-xlsx 的单元格数据设置公式:https://github.com/SheetJS/js-xlsx

参考这个例子https://github.com/SheetJS/js-xlsx/blob/master/tests/write.js ,我尝试使用 cell.f = "=SUM 的 xlsx 电子表格中的单元格公式没有任何实现(A1+B1)" 用于单元格 C1 和 cell.v 作为总和值为 3。但我没有成功。使用导出的文件,当在 MS excel 中打开时,单元格只包含数据,并且在选择时,没有显示我在 f(x) 字段中分配的任何公式。

有人可以给我发一个实际使用函数/属性'.f'和'cellFormula'的例子吗

会很有帮助。我只需要一个带有静态值的工作示例。