Экспресс: загрузка возвращает пустой файл - PullRequest
0 голосов
/ 05 мая 2018

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

Не может труба, не читается

Конечно, может быть, я что-то не так делаю.

Аналогичный вопрос.

const PORT = 3000;

const express = require('express');
const fs = require('fs');
const csv = require('fast-csv');

const app = express();

app.listen(PORT, () => {
console.log(`Express server is listening on ${PORT}`);
});

app.get('/rates/csv', (req, res) => {

let ws = fs.createWriteStream(__dirname + '/tmp/rates.csv');

csv.write([
    ["a", "b"],
    ["a1", "b1"],
    ["a2", "b2"]
], {headers: true})
    .pipe(ws);

console.log('FILE SAVED');

res.download(ws.path, 'rates.csv')
});

1 Ответ

0 голосов
/ 05 мая 2018

Вы не можете передать поток для записи в другой поток для записи.

https://medium.freecodecamp.org/node-js-streams-everything-you-need-to-know-c9141306be93

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