根据具有js音频gzip音频缓冲区的api请求创建ReadStream

问题描述 投票:0回答:1

我们如何从文件上传的缓冲区创建读取流,如下所示

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);
  }
});
node.js express zlib multer
1个回答
0
投票

这个答案怎么样?请认为这只是几个可能的答案之一。

在此答案中,使用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');

参考:

如果我误解了你的问题,而这不是你想要的方向,我深表歉意。

© www.soinside.com 2019 - 2024. All rights reserved.