2016-05-31 3 views
0

Я создаю книгу xlsx с помощью модуля exceljs, а затем я хотел бы отправить его в виде вложения через мое прямое промежуточное программное обеспечение.Отправить записываемый поток как узел узла express

создать и сохранить свою книгу в потоке, используя следующий код, как показано в документации модуля

var stream = fs.createWriteStream('test.xlsx');  
    // write to a stream 
    workbook.xlsx.write(stream) 
     .then(function() { 
      // done 
    }); 

, где поток является потоком с возможностью записи.

Моя проблема в том, что я не могу понять, как обращаться с потоком, чтобы отправить его. Попытка передать его на Res stream.pipe(res) дает мне ошибку, которая не читается для ее потока.

Каков наилучший курс для меня сейчас?

p.s. Я мог бы сохранить его в файл на сервере, а затем прочитать файл и отправить его через express. Это не помогло бы мне, поскольку привязанность не понадобится впоследствии, и это обходной путь, который мне не нравится.

ответ

1

Если у вас есть поток, который вы можете сделать следующее, чтобы отправить его в качестве вложения в экспресс:

res.attachment('yourfile.xlsx'); stream.pipe(res);

+0

Как я уже писал выше stream.pipe (Рез) дает ошибку. «Необработанное отклонение Ошибка: не удается выполнить трубку. Не читается» – cs04iz1

+0

Есть ли вероятность немного большего количества кода, чтобы мы могли видеть контекст? Например, как вы создаете поток. – Hyra

+0

Я добавил создание потока. Я открыт для предложений, если вы считаете, что я не начинаю правильно. – cs04iz1

 Смежные вопросы

  • Нет связанных вопросов^_^