Создайте ReadStream из запроса API с аудио-буфером gzip в express js - PullRequest
0 голосов
/ 19 февраля 2020

Как мы можем создать поток чтения из загруженного файла буфера, как показано ниже

const express = require('express');

const router = express.Router();
const multer = require('multer');
const multer = require('zlib');
const fs= require('fs')
router.post('/upload/:recordId', upload.single('file'), async (req, res, next) => {
  try {
    const buffer=req.file.buffer // this is test.gz file buffer
    let write;
    var r = fs.createReadStream(buffer);// this line is not working
    var z = zlib.createGunzip();
    var w = fs.createWriteStream(write); // this line is not working
    r.pipe(z).pipe(w);
    res.status(204).json({ statusDescription: '204 No Content' });
  } catch (ex) {
    next(ex);
  }
});

1 Ответ

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

Как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.

В этом ответе используется модуль stream.

Модифицированный скрипт:

Когда ваш скрипт модифицирован, пожалуйста, измените следующим образом.

С:

var r = fs.createReadStream(buffer);

Кому:

const stream = require("stream");
var r = new stream.PassThrough().end(buffer);

А также, пожалуйста, измените следующим образом.

С:

const multer = require('zlib');

Кому:

const zlib = require('zlib');

Ссылка:

Если я неправильно понял ваш вопрос, и это не то направление, которое вы хотите, прошу прощения.

...