본문 바로가기
프로그래밍/spring

파일다운로드

by 카라미 2015. 11. 17.

파일로 저장한 이미지를 불러와서 보여주기 위해서는 하드 디스크에 저장된 파일을 읽어오는 IO 코드가 필요하다. 




@RequestMapping(value="/download/{id}", method={RequestMethod.GET})

public void download(HttpServletRequest request, HttpServletResponse response, @PathVariable("id") int id, Model model) throws Exception {

//DB에 저장된 파일을 불러온다.

                BoardDTO board = boardSercvice.getBoard(id);

String saveFileName = board.getBoardFile().getSaveFileName();

String contentType = board.getBoardFile().getContentType();

String fileName =board.getBoardFile().getFileName();

String imageFileName = "c:/temp/" + saveFileName;

String fnfFileName = "c:/temp/fnf.jpg";

File f = new File(imageFileName);

if(!f.exists()){

f = new File(fnfFileName);

response.setContentType("image/jpeg");

response.setContentLength((int)f.length());

}else{

        response.setContentType(contentType);

        response.setContentLength((int) f.length());

}

        

        FileInputStream inputStream = new FileInputStream(f);

        OutputStream outStream = response.getOutputStream();

 

        byte[] buffer = new byte[1024];

        int bytesRead = -1;

 

        while ((bytesRead = inputStream.read(buffer)) != -1) {

            outStream.write(buffer, 0, bytesRead);

        }

 

        inputStream.close();

        outStream.close();

}  



게시글 전체를 읽어오는 부분 




 


       @RequestMapping(value="/read/{id}", method={RequestMethod.GET})

        public String read(@PathVariable int id, Model model) throws Exception{

BoardDTO board = boardSercvice.getBoard(id);

model.addAttribute("board", board);

return "board/read";

}


글과 이미지를 보여주는 jsp 파일 




${board.title}<br>

${board.content}<br>

<img src="/board/download/${board.boardID}">

 


img src 코드 부분을 잘 봅시다.  

'프로그래밍 > spring' 카테고리의 다른 글

JDK를 사용하기 위한 플러그인 설정  (0) 2018.09.06
spring 플러그인 설치및 sts 설치 등등  (0) 2016.06.15
파일 업로드  (0) 2015.11.16
spring_mabatis 설정  (0) 2015.11.02
filter  (0) 2015.10.29