I can\'t figure out how to stream a binary file from GridFS with spring-data-mongodb and its GridFSTemplate
when I already have the right ObjectId
.
Old question I know, but trying to do this in 2019 using WebFlux, I had to do the following
public Mono getImageFromDatabase(final String id) {
return Mono.fromCallable(
() ->
this.gridFsTemplate.getResource(
Objects.requireNonNull(
this.gridFsTemplate.findOne(new Query(Criteria.where("_id").is(id))))
.getFilename()));
}
Which will give you a Mono
which can be returned in a controller. I'm sure there is a nicer solution however.