[JAVA] 서버 이미지 읽어오기

이민준·2021년 8월 23일
0

아래와 같이 probeContentType으로 파일의 mime 타입을 헤더에 넣어줘서 만들 수 있습니다.
하지만 클라우드에 파일을 올리고 읽어오려고 했더니 Json으로 읽어왔습니다..

알아보니 버그가 있는 코드인것 같습니다.

    public ResponseEntity<Resource> display(@Param("filename") String filename){
        String temp = path;
        Path filePath = null;
        filePath = Paths.get(temp+filename);
        HttpHeaders header = new HttpHeaders();
        System.out.println(filePath);
        try {
            header.add("Content-Type", Files.probeContentType(filePath));
        } catch (IOException e) {
            e.printStackTrace();
        }
        Resource resource = new FileSystemResource(filePath);
        return new ResponseEntity<Resource>(resource,header, HttpStatus.OK);
    }

아래와 같이 Tika를 이용해서 mime 타입을 읽어옵시다.

    public ResponseEntity<Resource> attachment(@Param("filename") String filename){
        String temp = path;
        Path filePath = null;
        filePath = Paths.get(temp+filename);
        HttpHeaders header = new HttpHeaders();
        Tika tika = new Tika();
        String mimeType;
        try {
                mimeType = tika.detect(filePath);
                header.add("Content-Type", mimeType);

        } catch (Exception e) {

        }

        Resource resource = new FileSystemResource(filePath);
        return new ResponseEntity<Resource>(resource,header, HttpStatus.OK);
    }
}
profile
러닝커브가 장점인 개발자입니다.

0개의 댓글