public void downloadFile(String videoId , HttpServletResponse response ) { InputStream is = null; ApplicationContext ctx = new AnnotationConfigApplicationContext(MongoDBConfiguration.class); GridFsOperations gridOperations = (GridFsOperations) ctx.getBean("YourBeanName"); List<GridFSDBFile> result = gridOperations.find(new Query().addCriteria(Criteria.where("_id").is(videoId))); for (GridFSDBFile file : result) { try { /* send file */ } catch (Exception e) { response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value()); } } }
@Override public List<BinaryData> findByFilename(String filename) { return gridFs.find(findByFilenameQuery(filename)).stream() .map(file -> new BinaryData(file.getContentType(), file.getLength(), file.getInputStream())) .collect(Collectors.toList()); }
@Override public List<GridFSDBFile> findModifiedLaterAgo(Duration period, String project) { return gridFs.find(ModifiableQueryBuilder.findModifiedLaterThanPeriod(period, project) .addCriteria(where("filename").not().regex(PHOTO_PREFIX))); }