javascript - Npm 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 中使用存档器),当调用downloadProject时,我需要在浏览器中下载该文件夹。
在下面的行中,我试图在压缩时pom.xml
用我的本地文件替换 。pom.xml
zip.file('temp/pom.xml',{name:"web/pom.xml"});
但我无法做到这一点。这是复制pom.xml
文件。
原件和复制件都留在文件夹中。
任何人都可以请帮忙。提前致谢。
解决方案
推荐阅读
- javascript - Python 收集链接后面的 URL
- puppeteer - 如何使用 puppeteer 在 RichEditor 文本框中输入文本
- php - 尽管我没有使用名为 `Users` 的模型,为什么 auth 组件会访问 `users` 表?
- pytorch - torchscript 中的 torch.jit.trace 和 torch.jit.script 有什么区别?
- docker - 限制来自 docker 容器的主机服务访问
- excel - 在 Hlookup 中查找两个数字之间的值
- javascript - 无法输出外部函数
- javascript - JQuery App中的假键盘事件和Catch监视keydown
- java - IntelliJ 没有 @NotBlank
- javascript - react native - 如何在滚动时播放声音