如何在 Nodejs 中将字符串作为读取流对象传递?

kev*_*eks 5 filesystems fs node.js

我正在尝试第 3 方 api 的多重导入功能,其中我需要传递 json 文件读取流。

但我的 api 中已经有一组用户数据,我需要将其作为读取流传递。

我已经尝试过的选项。

  1. fs.createReadStream

fs.createReadStream(Buffer.from(JSON.stringify('[{ user: "data"}]')));

createReadStream 不接受 Buffer 并返回

ENOENT: 没有那个文件或目录,打开

  1. require('stream').Readable

    const Readable = require('stream').Readable; const readStream = new Readable(); readStream._read = () => {}; readStream.push(JSON.stringify(u)); readStream.push(null);

读取流在我的请求中给出“无效的多部分有效负载格式”错误

请找到我为多用户文件上传传递的请求对象

{
  "url": "",
  "method": "POST",
  "headers": {},
  "formData": {
    "userFile": ReadStream
  }
}
Run Code Online (Sandbox Code Playgroud)

任何建议将不胜感激

Mal*_*ous 1

您可以从字符串创建可读流,如下所示:

import { Readable } from 'stream';
// OR: const { Readable } = require('stream');

const stream = Readable.from("This is the stream content");
Run Code Online (Sandbox Code Playgroud)

  • @PatrykMilewski我不这么认为,我看不到作者在哪里要求“fs.ReadStream”,他们的第二个示例显示他们使用“Readable”。任何库都不应使用“fs.ReadStream”而不是“Readable”,如果是这样,则这是一个错误,应该报告以便修复。 (2认同)