我对缓冲区和ReadableStreams还比较陌生,所以这可能是个愚蠢的问题.我有一个库,它接受ReadableStream作为输入,但我的输入只是一个base64格式的图像.我可以像这样转换Buffer中的数据:

var img = new Buffer(img_string, 'base64');

但我不知道如何将其转换为ReadableStream,或将我获得的Buffer转换为ReadableStream.

有没有办法做到这一点,或者我是在试图实现不可能的目标?

谢谢

推荐答案

您可以使用Node Stream Buffers创建ReadableStream,如下所示:

// Initialize stream
var myReadableStreamBuffer = new streamBuffers.ReadableStreamBuffer({
  frequency: 10,      // in milliseconds.
  chunkSize: 2048     // in bytes.
}); 

// With a buffer
myReadableStreamBuffer.put(aBuffer);

// Or with a string
myReadableStreamBuffer.put("A String", "utf8");

频率不能为0,因此这将引入一定的延迟.

Node.js相关问答推荐

在child_Process中持久运行SSH命令

运行JEST测试时找不到模块&q;错误

在Nest.Js中,如何发送带有表单数据的正文请求并应用正文请求验证.附加的文件是可选的

如何防止Socket-io实例化React/Next.js中的两个套接字(当前在服务器*和*客户端实例化)

找不到 vue-template-compiler@2.6.14 的匹配版本 | Shopware 6.5 更新后的 node 问题

尽管 tsconfig 中提供了正确的路径,但仍出现找不到模块错误

AWS ECS 服务发现 Cors 问题?

用户与mongoose 的完美搭配

FirebaseCloudMessaging : PlatformException (PlatformException(null-error, Host platform returned null value for non-null return value., null, null))

在 node:readline 中按 CTRL+D 时会发出什么信号?

我怎样才能让`git`失败而不是要求提供凭据

即使部署成功,也不会触发 Firebase 函数来填充 Firestore 集合.为什么?

如何使动态私有IP地址静态?

Node.js、Cygwin 和 Socket.io 走进一家wine 吧……Node.js 抛出 ENOBUFS,所有人都死了

如何使用 mocha.js 模拟用于单元测试的依赖类?

异步函数 - 等待不等待promise

我应该在(Docker)容器中使用 forever/pm2 吗?

使用 Socket.io 将客户端连接到服务器

如何从 Node.js 中的 URL 获取

如何让 Mocha 加载定义全局挂钩或实用程序的 helper.js 文件?