자바(Java)
스프링 환경에서 자바 파일 다운로드 방법
xemaker
2017. 12. 8. 13:41
스프링 환경에서 자바 파일 다운로드 방법
스프링 환경에서 자바 업로드 방법은 이전 글에 소개했고
이번에는 다운로드 하는 메소드이다.
@RequestMapping("/common/fileDownLoad")
public void fileDownload(@RequestMapping String fileName, @RequestParam String filePath, HttpServleRequest request, HttpServletResponse response){
ServletOutputStream out = null;
String msg = null;
InputStream is = null;
try{
String file="파일경로";
String docName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
response.setHeader("Content-Disposition", "attachement;filename="+docName+";");
is = new FileInputStream(file);
FileCopyUtils.copy(is, response.getOutputStream());
response.setHeader("Content-Type", "application/octet-stream; charset=UTF-8");
response.setHeader("Content-Transfer-Encoding", "binary;");
response.setHeader("Pragma", "no-cache;");
response.setHeader("Expires", "-1");
response.flushBuffer();
}catch(Exception e){
e.printStackTrace();
try{
out.println("<html><head>");
//alert 찍기
out.println("</html></head>");
}catch(IOException e1){
e.printStackTrace();
}
}finally{
if(is!=null){try{is.close}catch(IOException e)e.printStackTrace()}
if(out!=null){try{out.close}catch(IOException e)e.printStackTrace()}
}
}
스프링 환경에서 자바 업로드 방법은 이전 글에 소개했고
이번에는 다운로드 하는 메소드이다.
@RequestMapping("/common/fileDownLoad")
public void fileDownload(@RequestMapping String fileName, @RequestParam String filePath, HttpServleRequest request, HttpServletResponse response){
ServletOutputStream out = null;
String msg = null;
InputStream is = null;
try{
String file="파일경로";
String docName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
response.setHeader("Content-Disposition", "attachement;filename="+docName+";");
is = new FileInputStream(file);
FileCopyUtils.copy(is, response.getOutputStream());
response.setHeader("Content-Type", "application/octet-stream; charset=UTF-8");
response.setHeader("Content-Transfer-Encoding", "binary;");
response.setHeader("Pragma", "no-cache;");
response.setHeader("Expires", "-1");
response.flushBuffer();
}catch(Exception e){
e.printStackTrace();
try{
out.println("<html><head>");
//alert 찍기
out.println("</html></head>");
}catch(IOException e1){
e.printStackTrace();
}
}finally{
if(is!=null){try{is.close}catch(IOException e)e.printStackTrace()}
if(out!=null){try{out.close}catch(IOException e)e.printStackTrace()}
}
}