如何使用已存储在MongoDB中的GridFS在服务器上查看图像?

时间:2019-04-20 06:40:14

标签: rest spring-boot gridfs

我已经使用 GridFS MongoDB 中上传了一个图像,现在我尝试使用其余映射其显示黑屏的静态图像在本地服务器上查看该图像,而不显示正确的图像。

sts上的错误是:

  

java.io.FileNotFoundException:{“元数据”:{“组织”:“聚会”,“类型”:“图像”},“文件名”:“ image \ png”,“别名”: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();  

    }
}

0 个答案:

没有答案