У меня есть 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 не может получить доступ к локальному хранилищу.
Спасибо за вашу помощь.