Java 找出版商<;ByteBuffer>;从输入流
我刚刚升级了我的mongo db java驱动程序,现在方便的函数Java 找出版商<;ByteBuffer>;从输入流,java,mongodb-java,bytebuffer,reactor,publisher,Java,Mongodb Java,Bytebuffer,Reactor,Publisher,我刚刚升级了我的mongo db java驱动程序,现在方便的函数GridFSBucket.uploadFromStream已经没有了。因此,我们现在有了一个 GridFSUploadPublisher<ObjectId> uploadFromPublisher(String filename, Publisher<ByteBuffer> source); GridFSUploadPublisher uploadFromPublisher(字符串文件名,发布者源代码);
GridFSBucket.uploadFromStream
已经没有了。因此,我们现在有了一个
GridFSUploadPublisher<ObjectId> uploadFromPublisher(String filename, Publisher<ByteBuffer> source);
GridFSUploadPublisher uploadFromPublisher(字符串文件名,发布者源代码);
如何将我的InputStream转换为
发布者
?java驱动程序或反应器中是否有任何utilfunction?为了使其正常工作,可以读取流并将数据存储在byte[]
数组中,以后可以使用ByteBuffer.wrap(byte[])
方法对其进行包装。
我查看了旧版MongoDB驱动程序的源代码,发现流被用作实际流,所以在那个时候它并没有偷偷地转换成ByteBuffer
似乎没有方法在数据到达时对其进行流式处理,现在除了将文件加载到内存中之外没有其他方法。我知道在很多情况下这都是个问题,但也许我对这种方法有些不理解。您到底在使用哪个库,在哪个版本中?@Progman mongodb driver reactivestreams 4.0.5是否可以选择使用mongodb driver sync 4.0.5?@Progman不,我们几个月前从mongodb driver sync中切换了所有内容,希望保持未来的可靠性