使用JSZip编辑压缩文件中的文件

3

使用JSZip,有没有办法在压缩文件中编辑文件?

我已经尝试寻找解决方案并浏览了API,但似乎找不到解决方案。

任何帮助都将不胜感激!提前致谢!

2个回答

7
你可以使用 .file 方法来编辑压缩包中的文件。
zip.file("existing_filename", "new file content");

此方法用于添加和更新文件内容。

请确保文件已经存在。

您可以在文档中了解更多相关信息。


而且,zip对象可以通过加载现有zip文件的代码来创建,例如JsZip.loadAsync(fs.readFileSync('path/filename.zip'))。 - Henry Luo

0

您可以参考官方文档

以下是一个更完整的Node.js示例:

var fs = require("fs");
var JSZip = require("jszip");

async function zipDemo() {
    // read the existing zip file
    var zipData = fs.readFileSync("input.zip");
    var zip = await JSZip.loadAsync(zipData);
    // add a new JSON file to the zip
    zip.file("sample.json", JSON.stringify({demo:123}));
    // write out the updated zip
    zip.generateNodeStream({type:'nodebuffer', streamFiles:true})
    .pipe(fs.createWriteStream('output.zip'))
    .on('finish', function () {
        console.log("output`enter code here`.zip written.");
    });
}

zipDemo();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接