如何将 GridFSFile 对象写入 ByteArrayOutputStream 对象?

使用 gridFSDBFile 有一种简单的方法可以做到这一点,但现在不再如此。


//This used to return a GridFSDBFile type. Returns GridFSFile now.

GridFSFile gridFsFile = gridFsTemplate.findOne(new Query(Criteria.where("_id").is(idTemp)));

//And would be done this way. Not anymore.

gridFSFile.writeTo(outputstream)

主要目标是返回保存在数据库中的图像以将其显示在 html 页面上,如下所示。


response.getOutputStream().write(outputstream.toByteArray());

response.getOutputStream().close();


喵喔喔
浏览 260回答 2
2回答

猛跑小猪

我在将 spring 1.x 迁移到 2.x 时遇到了同样的问题。这是修复。InputStream iStream =  gridFsTemplate.getResource(gridFSFile).getInputStream(); byte[] bytes = IOUtils.toByteArray(iStream);

桃花长相依

我可能迟到了,但您可以将 InputStream 链接到 OutputStream。因此,您可以使用以下内容:GridFSFile gridFsFile = gridFsTemplate.findOne(...); gridFsTemplate.getResource(gridFsFile).getInputStream().transferTo(outputStream);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java