以下是我的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
文件。
原始文件和复印件都留在文件夹中。
任何人都可以帮忙。提前谢谢。