Проблема генерации буфера для создания файла nodejs csv - PullRequest
0 голосов
/ 26 февраля 2020

Я могу создать CSV-файл с данными ниже. Я использую библиотеку nodejs "csv-writer", которая генерирует файл довольно хорошо. Моя проблема в том, что мне нужен способ вернуть обратно буфер вместо самого файла. Причина в том, что мне нужно загрузить файл на удаленный сервер через sftp.

Как мне go ab изменить изменение этого фрагмента кода, чтобы включить ответ буфера? Спасибо.

...
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');
        });

...

Ответы [ 2 ]

0 голосов
/ 26 февраля 2020

Вам необходимо сохранить созданный файл в буфере, используя собственный пакет fs

const fs = require('fs');

const buffer = fs.readFileSync('AuthHistoryReport.csv');
0 голосов
/ 26 февраля 2020

Прочитайте свой собственный файл с fs.readFile('AuthHistoryReport.csv', data => ... );. Если вы не укажете кодировку, то возвращаемые данные будут буфером, а не строкой.

fs.readFile('AuthHistoryReport.csv', 'utf8', data => ... ); Возвращает строку

fs.readFile('AuthHistoryReport.csv', data => ... ); Возвращает буфер

Nodejs файловая система # fs.readFile

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...