我需要在下载之前将新文本文件添加到现有的zip文件(.tgz)中。 我该怎么做呢?
文本文件即时创建。
缺少的是解压缩现有文件的步骤,然后使用新的文本文件再次压缩它。
请指教, 谢谢!
答案 0 :(得分:0)
我强烈建议您查看服务器端解决方案,因为我发现的内容表明您想要的并不简单。如果您认为这必须是客户端解决方案,那么这里有一些对您有帮助的资源:
NPM是Node.js的包管理器。 NPM有一个巨大的注册表,其中包含各种功能的javascript模块。 NPM上的大多数模块都是在Node.js(服务器端)而不是浏览器(客户端)上运行。但是,有两个模块可以兼用。
Browserify是一个NPM模块,让您以与Node.js应用相同的方式编写浏览器应用程序代码。它处理所有依赖关系并且是纯粹的魔法。
.tgz
vs .zip
我不确定你(或将来的任何人)对.tgz
/ .tar.gz
(同样的)文件有多了解,所以我会稍微解释一下。如果您已经知道这一点,请跳过此部分。
普通的.zip
文件实际上做了两件不同的事情:
.zip
文件但是,对于.tar.gz
和.tgz
,这些步骤将单独处理。扩展程序.tgz
实际上是.tar.gz
的简写。扩展名表示某些文件已合并为.tar
,然后压缩为.gz
。
如果您想将文本文件注入.tgz
,请执行以下步骤:
.tgz
解压缩为.tar
.tar
打包到内存中.tar
的文件.tar
.tar
压缩回.tgz
或.tar.gz
从头开始写一些东西可能是一项艰巨的任务,所以我会试着让你走上正确的道路。
如果您查看Browserify的文档,它有自己的浏览器版本的节点模块zlib。 Zlib处理gunzip
压缩。
对于处理tarballs
,NPM上有很多不同的模块可以帮助你(只需在NPM上搜索“tar”)。我完全不知道哪些是可以浏览的,所以这将需要一些试验和错误。
旁注:您可能做的其他事情是,您可以将原始.tgz
与您的文本文件打包成一个原始.tgz
,而不是尝试解压缩原始文件.tar
。 {{1}},因此完全绕过了第1步,第2步和第5步。