본문 바로가기
Springboot

Springboot_ 이미지 보여주기

by JunsC 2024. 8. 26.
728x90

스프링부트에서 정적 파일인 이미지를 어떻게 보여주는지 다시한번 구글링해보았다.

여러가지 방법이 있었던것 같은데 나는 정적인 이미지 파일이니까 해당 파일이 있는 위치에서 바로 불러오고 싶었다.

그래서 한번 찾아보았다..

    @GetMapping("/{imageName}")
    public ResponseEntity<byte[]> getImage(@PathVariable String imageName) throws IOException {
        // 여기서는 예를 들어 images 디렉토리에서 이미지를 로드합니다
        Resource imgFile = new ClassPathResource("static/images/" + imageName);
        
        InputStream in = imgFile.getInputStream();
        byte[] imageBytes = StreamUtils.copyToByteArray(in);

        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.IMAGE_JPEG);  // 이미지 타입에 따라 MediaType 설정
        headers.setContentLength(imageBytes.length);

        return new ResponseEntity<>(imageBytes, headers, HttpStatus.OK);
    }

이 코드를 사용하면 바로 해당 위치의 파일 바이트를 복사해서 보여주는 기능을 할 수 있다.!!



 

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."