我想用Node.JS
编写一个本地API,并向其传递本地zip文件路径,例如"C:/Users/mansour/Desktop/Training/app.zip"
之后,我必须递归检查zip文件,如果有一个扩展名为".mogrt"
的文件,那么我对该文件运行一个函数。
我写了一些代码,但我无法完成。
const extractZipFile = (mogrtUrl) => {
return new Promise((resolve, reject) => {
const zip = new AdmZip(mogrtUrl);
zip.getEntries().forEach(entry => {
if (entry.name.split('.').pop() === 'mogrt') {
resolve({
headers: {
'Content-Type': '',
'Access-Control-Allow-Origin': '*',
'Cache-Control': 'public, max-age=31536000'
},
contents: []
});
}
})
});
}
我不使用快递。
我正在使用“ adm-zip”节点程序包。
答案 0 :(得分:0)
我没有您的输入文件,因此您必须自行调试。
此函数应返回条目名称与“ .mogrt”匹配的对象的列表:
const extractZipFile = mogrtUrl => {
const zip = new AdmZip(mogrtUrl);
return zip.getEntries().reduce((list, entry) => {
if (entry.name.split('.').pop() === 'mogrt') {
list.push({
headers: {
'Content-Type': '',
'Access-Control-Allow-Origin': '*',
'Cache-Control': 'public, max-age=31536000'
},
contents: []
});
}
return list;
}, []);
};
这是同步工作的,这取决于您的应用程序。如果由于文件太大而导致此过程花费的时间太长,则可以考虑使用异步方法来处理zip文件。