Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为nodejs csv文件创建生成缓冲区时出现问题_Javascript_Node.js_File_Express_Buffer - Fatal编程技术网

Javascript 为nodejs csv文件创建生成缓冲区时出现问题

Javascript 为nodejs csv文件创建生成缓冲区时出现问题,javascript,node.js,file,express,buffer,Javascript,Node.js,File,Express,Buffer,我能够生成包含以下数据的csv文件。我正在使用nodejs库“csv编写器”,它可以很好地生成文件。我的问题是,我需要一种方法来返回缓冲区,而不是文件本身。原因是我需要通过sftp将文件上传到远程服务器 如何修改这段代码以启用缓冲区响应?谢谢 ... const csvWriter = createCsvWriter({ path: 'AuthHistoryReport.csv', header: [ {id: 'NAME', title: '

我能够生成包含以下数据的csv文件。我正在使用nodejs库“csv编写器”,它可以很好地生成文件。我的问题是,我需要一种方法来返回缓冲区,而不是文件本身。原因是我需要通过sftp将文件上传到远程服务器

如何修改这段代码以启用缓冲区响应?谢谢

...
const csvWriter = createCsvWriter({
        path: 'AuthHistoryReport.csv',
        header: [
          {id: 'NAME', title: 'msg_datetime_date'},
          {id: 'AGE', title: 'msg_datetime'}
        ]
   });

var rows = [
    { NAME: "Paul", AGE:21 },
    { NAME: "Charles", AGE:28 },
    { NAME: "Teresa", AGE:27 },
];

csvWriter
        .writeRecords(rows)
        .then(() => {
          console.log('The CSV file was written successfully');
        });

...

使用
fs.readFile('AuthHistoryReport.csv',data=>…)读取您自己的文件。如果未指定编码,则返回的数据是缓冲区,而不是字符串

fs.readFile('AuthHistoryReport.csv','utf8',data=>…)返回一个字符串

fs.readFile('AuthHistoryReport.csv',data=>…)返回一个缓冲区


您需要使用本机软件包将创建的文件存储在缓冲区中


所以在创建csv文件后,我再次将其读入缓冲区?我是否应该使用express来创建csv而不是csv编写器库?
因此,在创建csv文件后,我会再次将其读入缓冲区?
-->这就是我要做的<代码>我应该使用express创建csv吗?Express与文件写入有什么关系?:)您已经在使用Library将CSV文件写入磁盘是的,这几乎是我的答案,但此解决方案是同步的,因此会阻塞线程:)
const fs = require('fs');

const buffer = fs.readFileSync('AuthHistoryReport.csv');