问题标签 [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.
javascript - 为什么 JSZip 不像桌面归档器那样压缩字符串文件?
我有一个大型 JS 对象,我想将其保存到本地存储中。我想将其压缩保存,因此我执行以下操作:
现在,如果我将上面的输出放入 Windows 中的 .txt 文件中,它的大小为 169246,接近 .txt 的输出JSON.stringify
。现在我想压缩文件。我使用 WinRAR 压缩了桌面版本进行.zip
格式化,它给出了 的输出11284
,这是大量压缩。现在我尝试使用 JSZip:
如果我检查压缩内容的大小content.length
,我会得到 176296,它甚至比原始的字符串化对象还要大。那我做错了吗?
javascript - 使用 Cordova FileReader API 创建 zip 文件后损坏的图像文件
我正在构建一个 Cordova 应用程序并使用 FileReader API 来读取可用的图像、视频和音频文件以创建一个 zip 文件。我的代码如下:
此代码完美地创建了 zip 包,对包含的文本文件没有任何问题,但所有媒体文件都已损坏。我可以打开 zip 文件,但是当我尝试打开例如图像时,它显示已损坏。我找不到任何合适的解决方案。来自 API 的 base64 内容似乎存在问题。有人遇到过这种问题吗?
javascript - JSZip 内存问题
我的 Node.js 应用程序的内存消耗很高,当一个接一个地加载约 100MB 的 zip 文件时,它会将它们作为“NodeBufferReader”保存在内存中。我正在使用的库称为 JSZip,可在此处找到:https ://stuk.github.io/jszip/
如果我访问同一个 zip 文件两次,那么它不会增加内存使用量,但是对于每个“额外”的 .zip 文件,我访问的内存都会增加大约 .zip 文件的大小。我正在访问的文件都在 100MB 左右或更大,所以你可以想象这有可能变得相当大,相当快。
Node.js 应用程序是一个 websocket 服务器,它从 .zip 文件中读取文件并将它们作为 base64 数据返回给请求者。有问题的功能在这里:
摆脱这个问题的任何帮助将不胜感激 - 谢谢!
工作代码示例
javascript - 使用 jsZip 将图像从 url 添加到 zip 文件
我正在尝试使用 jsZip 创建一个 zip 文件。zip 文件的内容是来自网络的图像。我创建了以下代码。但是当我运行它时,得到的是一个 22kb 的空 zip 文件。
(url1、url2 和 url3 替换为我要下载的图片 url)。
为什么我得到这些空的 zip 文件?
javascript - 使用 javascript 提取受密码保护的 zip 文件(客户端)
有许多优秀的库可以在客户端打开 zip 文件,例如:zip.js、jszip 等……但我找不到任何可以打开加密 zip 文件的库。是否有在客户端(在浏览器中)打开 zip 文件的解决方案?
cordova - 使用 PhoneGap 和 JSZip 压缩和上传文件
我有读取本地文件夹的代码,然后压缩相关文件并将它们上传到服务器:
问题是有时会上传一个空文件,这绝不应该发生。因此,可能是同步问题导致文件在创建 Zip 文件并将其写入存储之前上传。我不确定问题出在哪里。我尝试从 Map 函数返回 Promise,然后使用 Promise.all(...).then() 模式,但有时我仍然得到一个空白文件。所以要么我的实现不正确,要么 zip.generate() 也异步运行(或两者兼而有之)。
在尝试上传之前,如何确保 zip 文件已完全写入存储?
node.js - Node.js jszip库解压
我正在编写一些节点代码,并使用 jszip 压缩和解压缩一些文件。我知道如何压缩,但不知道如何解压缩或解压缩。stackoverflow 上有几个链接不起作用。任何人有任何解决方案?以下是我尝试过的
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'.
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'的例子吗
会很有帮助。我只需要一个带有静态值的工作示例。