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.