Вот мой 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), которую мне нужно загрузить в браузере при вызове downloadProject .
В следующей строке я пытаюсь заменить pom.xml
локальным файлом pom.xml
во время архивирования.
zip.file('temp/pom.xml',{name:"web/pom.xml"});
Но я не могу этого сделать. Это дублирует файл pom.xml
.
Оригинальный и скопированный оба остаются в папке.
Может кто-нибудь, пожалуйста, помогите. Заранее спасибо.