Java操作MongoDB gridfs

zhangxinmingsheng 2017-01-09 04:14:57
Java操作的代码:

public static GridFSDBFile getById(Object id) {
DBObject query = new BasicDBObject("_id", id);
GridFSDBFile gridFSDBFile = gridFS.findOne(query);
return gridFSDBFile;
}

调用了这个方法进行文件下载:
GridFSDBFile gridFSDBFile = MongoGridFS.getById(id);
logger.info(String.format("%s,%s", ipString, fileMD5));
if (gridFSDBFile != null) {
renderBinary(gridFSDBFile.getInputStream(),
gridFSDBFile.getFilename());
}

获取文件的时候
抛出异常:
-----------------------------
Caused by: com.mongodb.MongoException: can't find a chunk! file id: 3be1e554ff600ddb2fa8f90cf68e9d33 chunk: 0
at com.mongodb.gridfs.GridFSDBFile.getChunk(GridFSDBFile.java:102)
at com.mongodb.gridfs.GridFSDBFile$MyInputStream.read(GridFSDBFile.java:154)
at com.mongodb.gridfs.GridFSDBFile$MyInputStream.read(GridFSDBFile.java:144)
at play.mvc.results.RenderBinary.apply(RenderBinary.java:169)
... 27 more
-------------------------------

请教大侠帮忙看看什么问题,该怎么解决?

使用的java驱动mongo的 jar 是 mongo-java-driver.2.11.2.jar

谢谢!

...全文
931 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rucypli 2017-01-10
  • 打赏
  • 举报
回复
先用mongofiles get试试

1,747

社区成员

发帖
与我相关
我的任务
社区描述
MongoDB相关内容讨论区
社区管理员
  • MongoDB社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧