Есть ли способ передать в CSV-файл из NodeJS в локальный Javascript, который выполняется через EJS?или есть лучший способ сделать это? - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть CSV-файл в облачном хранилище Google, NodeJS в качестве сервера, EJS в качестве моего интерфейсного интерфейса, который выполняет JavaScript для отображения графика, получая файл CSV с помощью d3 и отображая диаграмму с помощью Chart.js.

Я получаю файл CSV из облачного хранилища Google.После получения этого CSV-файла из облачного хранилища Google я хотел бы знать, есть ли способ передать этот CSV-файл в EJS из Nodejs, который затем передаст этот файл в сценарий javascript, который используется для визуализации CSV-файла и отображенияэто на Chart.js.

Вот мой код:

Получение данных из облачного хранилища:

async function getCirculationFile(fileName, bucketName) {
var file = await storage.bucket(bucketName).file(fileName);
await file.download().then((file) => {
    return file; // this works. When I log this file, it displays correct data.
  });
}

для пост-запроса от узла:

getCirculationFile('file.csv').then(function(file) {
        res.render('graph', {
            path: '/Graph',
            file: file, // This doesn't work. on console.log(file), it is undefined.
        });
    })

в моем коде EJS: // Попытка показать, был ли файл получен, но ничего не отображается.

 <p><%= file %></p>

В моем коде переднего плана Javascript я в настоящее время получаю этот CSV-файл, как показано ниже:

 d3.csv(file)
.then(makeChart);

Я думал о локальном хранилище, но обнаружил, что Node не может получить доступ к локальному хранилищу.

Спасибо за вашу помощь.

...