使用 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();
2 回答
![?](http://img1.sycdn.imooc.com/533e50ed0001cc5b02000200-100-100.jpg)
猛跑小猪
TA贡献1858条经验 获得超8个赞
我在将 spring 1.x 迁移到 2.x 时遇到了同样的问题。这是修复。
InputStream iStream = gridFsTemplate.getResource(gridFSFile).getInputStream(); byte[] bytes = IOUtils.toByteArray(iStream);
![?](http://img1.sycdn.imooc.com/545868330001e54e02200220-100-100.jpg)
桃花长相依
TA贡献1860条经验 获得超8个赞
我可能迟到了,但您可以将 InputStream 链接到 OutputStream。
因此,您可以使用以下内容:
GridFSFile gridFsFile = gridFsTemplate.findOne(...); gridFsTemplate.getResource(gridFsFile).getInputStream().transferTo(outputStream);
添加回答
举报
0/150
提交
取消