Как просмотреть изображение на сервере, используя GridFS, который уже хранится в MongoDB? - PullRequest
0 голосов
/ 20 апреля 2019

Я уже загрузил изображение в MongoDB , используя GridFS , сейчас я пытаюсь просмотреть это изображение на локальном сервере, используя отображение остатков, отображающее его черный экран, не показывая должного изображение.

Ошибка на sts:

java.io.FileNotFoundException: {"metadata": {"organization": "meet aide", "type": "image"}, "filename": "image \ png", "aliases": null, " chunkSize ": 261120," uploadDate ": {" $ date ":" 2019-04-20T04: 54: 40.746Z "}," length ": 775702," _id ": {" $ oid ":" 5cbaa6101c8cce14e44cf623 "}, "contentType": "", "md5": "5a44c7ba5bbe4ec867233d67e4806848"} (неверный синтаксис имени файла, имени каталога или метки тома) ..

Есть ли ошибка в коде?

@GetMapping("/viewimage/{fileId}")
 public void viewimage(@PathVariable String fileId, HttpServletResponse response) throws IOException {
    response.setContentType("image/png");

     GridFSDBFile dbFile = gridFsOperations.findOne(new Query(Criteria.where("_id").is(fileId)));
     System.out.println("comment :: "+dbFile);
        ServletOutputStream  out = response.getOutputStream();  
        FileInputStream br = new FileInputStream(dbFile.toString());  

        BufferedInputStream bin = new BufferedInputStream(br);  
        BufferedOutputStream bout = new BufferedOutputStream(out);  
        int ch =0; ;  
        while((ch=bin.read())!=-1)  
        {  
        bout.write(ch);  
        }  

        bin.close();  
        bin.close();  
        bout.close();  
        out.close();  

    }
}
...