私もこれに出くわしました。そして、GridFsTemplateがこのように設計されていることに実際にかなりショックを受けています...とにかく、これまでのところ、これに対する私の醜い「解決策」:
public GridFsResource download(String fileId) {
GridFSFile file = gridFsTemplate.findOne(Query.query(Criteria.where("_id").is(fileId)));
return new GridFsResource(file, getGridFs().openDownloadStream(file.getObjectId()));
}
private GridFSBucket getGridFs() {
MongoDatabase db = mongoDbFactory.getDb();
return GridFSBuckets.create(db);
}
注:これを機能させるには、MongoDbFactoryを挿入する必要があります...