繁体   English   中英

从 ServerRequest 中提取 InputStream

[英]Extracting InputStream from ServerRequest

我一直想从reactive.function.server.ServerRequest正文中提取 inputStream 但无济于事。 到目前为止,我已经尝试了一些我在这里和其他地方找到的方法,最后又遇到了同样的问题,那就是 ->

鉴于此摘录:

在此处输入图像描述

经过检查,我得到了这个 inputStream,这显然是不对的:

在此处输入图像描述

在此处输入图像描述

如果在我的情况下使用PipedInputStream或任何其他 object 实际上可以实现这种转换,有什么想法吗?

DataBuffer本身可以完成这项工作。 它有一个asInputStream方法。

但是,您可能会问错误的问题:

几乎所有的 InputStreams,当然还有来自网络连接的输入流,基本上都是一个阻塞概念,而您使用的是响应式,这意味着如果您阻塞,您的代码就会从根本上被破坏

换句话说,作为一般经验法则,“我使用反应式”。 和“我想要一个输入流。” 是互斥的。 你..不想要输入流。

如果必须的话,您需要一点异国情调的独角兽:一个保证不会阻塞的 InputStream。 实际上只有一种方法可以创建这样一个野兽,即将所有数据泵入 memory(希望它不是特别大的数据量:),然后创建一个输入流,仅提供 memory 中已加载的字节。 这样的 stream 不会阻塞。 ByteArrayInputStream是这种 stream 的一个示例。 想必DataBuffer的asInputStream方法是另外一种。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM