Npm Archiver用于替换压缩文件夹中的文件

时间:2018-04-30 12:19:39

标签: javascript node.js npm node-archiver

以下是我的api。

app.post('/downloadproject', function(req, res) {

    var projectName = 'web';
    res.set('Content-Type', 'application/zip');
    res.set('Content-Disposition', `attachment; filename=${projectName}.zip`);

    var zip = Archiver('zip');
    var adminZip=require('adm-zip');
    var zipper = new adminZip();
            // Send the file to the page output.
    zip.pipe(res);
    zip.directory(`projects/${projectName}/`, projectName);

    editPom(req.body,function(){
        // zipper.addLocalFile('temp/pom.xml','web/pom.xml');
        zip.file('temp/pom.xml',{name:"web/pom.xml"});
        zip.finalize().then(function(){
            console.log('Zip completed');
        });
    });
});

在上面的api调用中,我正在压缩项目文件夹(在npm中使用 archiver ),我需要在调用 downloadProject 时在浏览器中下载。< / p>

在下面一行中,我试图在压缩时将pom.xml替换为我的本地pom.xml文件。

zip.file('temp/pom.xml',{name:"web/pom.xml"});

但我无法做到这一点。这会复制pom.xml文件。

原始文件和复印件都留在文件夹中。

任何人都可以帮忙。提前谢谢。

0 个答案:

没有答案