我正在尝试生成一个 zip 文件,其文件名由数据库返回。我正在使用以下代码:
var pathforZip = '';
for(let k=0;k<filenameArray.length;k++){
if(resultset[k].length > 0){
pathforZip += "{ path:"+"'./"+filenameArray[k]+"', name: "+"'"+filenameArray[k]+"'},";
}
}
pathforZip = pathforZip.substring(0, (pathforZip.length-1));
res.zip([pathforZip],new Date().getTime()+'.zip');
当我打印 pathforZip
及其类型时,它给了我
{ path:'./begins.csv', name: 'begins.csv'},
{ path:'./ends.csv', name: 'ends.csv'},
{ path:'./crashes.csv', name: 'crashes.csv'}
并输入字符串,但出现错误,路径必须是 res.zip 的字符串
最佳答案
我认为您想要的是创建一个对象数组来传递给 res.zip,如下所示:
let paths = [];
for(let k=0;k<filenameArray.length;k++){
if(resultset[k].length > 0){
paths.push({ path:'./'+filenameArray[k], name: filenameArray[k]};
}
}
res.zip(paths, new Date().getTime()+'.zip');
紧?
关于javascript - 传递的字符串仍然是nodejs res.zip 给出错误路径必须是字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40605900/