Java操作MongoDB gridfs
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
谢谢!