몽고 데이터베이스에 사진을 업로드, 몽고 데이터베이스 다운로드 사진을 전면에 디스플레이에서

/ ** 
     *이 데이터베이스를 몽고에 저장, 이미지 파일을 업로드 
     * 파라미터 : DOC 
     * @param의 상위 디렉토리 위치를 파일 
     * @param의 요청 
     * @return 
     * / 
    @PostMapping ( "/ uploaddoc" )
     공공 으로 ErrorMessage의 uploaddoc (의 MultipartFile DOC, 문자열 부모 @RequestParam은 HttpServletRequest의 요청) 던졌습니다 IOException가 { 
        으로 ErrorMessage 결과를 = 새로운 새로운 으로 ErrorMessage (); 
        MongoDatabase DB = mongoTemplate.getDb (); 
        GridFSBucket 버킷 = GridFSBuckets.create (DB, "문서"); //객체 개방형 부재 생성 
        GridFSUploadStream uploadStream = (doc.getOriginalFilename ())를 bucket.openUploadStream 
        uploadStream.write (doc.getBytes ()) 
        에서 System.out.println (uploadStream.getObjectId ()); 
        uploadStream.close ( ); 
      반환 결과; 
    }   
/ ** 
     * 다운로드 그림 파일은 프런트 엔드 <IMG>에 표시됩니다 
     * / 
    (@GetMapping "/ DownloadImage / UUID {}" )
     공공  무효 DownloadImage (UUID 문자열 @PathVariable의 HttpServletResponse를 응답하는) 던졌습니다 IOException가 {
 //         response.setContentType ( "이미지 / JPG"); // 디스플레이는 그것을 설정할 필요 
        MongoDatabase DB = mongoTemplate.getDb (); 
        GridFSBucket 버킷 (DB, "문서") = GridFSBuckets.create는; // 기존 개체를 열 수 없습니다
         // UUID를 몽고 데이터베이스에 이미지 파일로 아이디 
        GridFSDownloadStream downloadStream = bucket.openDownloadStream ( 새 새 ObjectId가 (UUID));
        OutputStream에의 OutputStream = response.getOutputStream (); 
        IOUtils.copy (downloadStream, OutputStream에); 
        () downloadStream.close; 
        outputStream.close (); 
    }
코드의 전면 끝 부분 // 
//에 http : // localhost를 : / 8080 downloadImage / 5dca4f1d911b52478896430e가 백엔드 인터페이스에 액세스

// 5dca4f1d911b52478896430e 객체입니다 ObjectId가 GridFs

<IMG 아이디 = "img1로"SRC = ""> <버튼의 onclick = "showImage ()"> 이미지를 얻을 </ 버튼> <스크립트> 기능 showImage () { document.getElementById를 ( 'img1로') SRC = 'HTTP. : // 로컬 호스트 : 8080 / downloadImage / 5dca4f1d911b52478896430e ' ; } </ SCRIPT>

 

추천

출처www.cnblogs.com/muhu08120559/p/11842162.html