/ ** *이 데이터베이스를 몽고에 저장, 이미지 파일을 업로드 * 파라미터 : 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>