javascript - 传递的字符串仍然是nodejs res.zip 给出错误路径必须是字符串

标签 javascript node.js

我正在尝试生成一个 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/

相关文章:

Javascript 如何添加和删除 2 层深度的 JSON 元素

node.js - 在 Node 应用程序中包含 peerjs 客户端库

node.js - 如何访问json对象数组中的optionsArray

javascript - 在React应用程序中加载svg外部链接源

javascript - 图像意外地未在 React Native 教程中渲染

javascript - Jquery find 方法挂起我的整个浏览器

javascript - Backbone 集合提取不触发

javascript - 在javascript中解压字符串

node.js - Sails 套接字 io 连接到与传入的 URL 不同的 URL

node.js - 从存储为 Node Buffer 的字节数组创建类型化数组