아래와 같이 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);
}
}