我正在尝试使用数据库返回的文件名生成一个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的字符串

最佳答案

我认为您想要的是创建对象数组以传递给red.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');

对?

09-16 20:42