@GetMapping(value = "editor/{fileName}")
public void fileDownload(@PathVariable String fileName, HttpServletResponse response) throws IOException{
response.setContentType("application/octer-stream");
response.setHeader("Content-Transfer-Encoding", "binary;");
response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
try {
OutputStream os = response.getOutputStream();
FileInputStream fis = new FileInputStream(fileName);
Integer count = 0;
byte[] bytes = new byte[512];
while ((count = fis.read(bytes)) != -1 ) {
os.write(bytes, 0, count);
}
fis.close();
os.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
System.out.println("FileNotFoundException");
}
}
파일 경로는 따로 지정하지 않았는데 위 코드로 하면 다운받으려는 파일이 현재 프로젝트 루트 디렉토리에 있으면 다운로드 된다.