javascript - 使用zip.js压缩Blob

Jea*_*eri 6 javascript compression zip blob file

我需要在WebSQl中存储大量文本,所以我决定使用zip.js压缩文本 并存储压缩的Blob

从文档中,您可以按如下方式压缩blob

function zipBlob(filename, blob, callback) {
   // use a zip.BlobWriter object to write zipped data into a Blob object
   zip.createWriter(new zip.BlobWriter("application/zip"), function(zipWriter) {
      // use a BlobReader object to read the data stored into blob variable
      zipWriter.add(filename, new zip.BlobReader(blob), function() {
         // close the writer and calls callback function
         zipWriter.close(callback);
      });
   }, onerror);
}
Run Code Online (Sandbox Code Playgroud)

虽然这有效,但我不明白为什么需要指定文件名.这真的有必要吗?并且,压缩后是否始终删除此文件?

干杯

hoo*_*nto 3

在这里检查这个答案 - 它不需要文件名,我敢打赌它更容易使用。我已经尝试了相当多的 JavaScript 压缩/解压缩实现,但一直被原始数据大小、整体速度、效率等限制等问题所困扰。在 javascript 中找到一个好的压缩/解压缩实现是非常困难的,但幸运的是这个还没有让我失望(而且我已经用了很多次了):

在 JavaScript 中压缩 Blob

您当前的实现需要文件名,因为它试图与 zip 保持一致,以便您可以将其保存到桌面,并使用您最喜欢的 zip 实用程序打开它。听起来你的挑战与我的非常相似,我需要在浏览器和服务器的本地存储中保存和恢复压缩项目。