我正在尝试将 spring boot 1.5.7 迁移到其最新版本 realease 2.0.1。在旧版本中,我使用此语法来恢复文件。
GridFSDBFile gridFsdbFile = gridFsTemplate.findOne(new Query(Criteria.where("_id").is(fileId)));
你知道新版本会怎么做吗?我需要
file.setInputStream(gridFsdbFile.getInputStream());
太好了!
最佳答案
GridFSFile gridFsdbFile = gridFsTemplate.findOne(new Query(Criteria.where("_id").is(id)));
GridFSDownloadStream gridFSDownloadStream = gridFSBucket.openDownloadStream(gridFsdbFile.getObjectId());
GridFsResource gridFsResource = new GridFsResource(gridFsdbFile,gridFSDownloadStream );
然后
file.setInputStream(gridFsResource.getInputStream());
您可以像这样在 MongoConfiguration 中定义 gridFSBucket
@Bean public GridFSBucket getGridFSBuckets() {
MongoDatabase db = mongoDbFactory().getDb();
return GridFSBuckets.create(db);
}
关于java - spring boot 2.0.1 版本中的 GridFSDBFile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49899136/