반응형
다운로드 뷰 선언
다운로드 뷰 작성
import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.OutputStream; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.util.FileCopyUtils; import org.springframework.web.servlet.view.AbstractView; public class downloadView extends AbstractView{ public downloadView() { setContentType("application/octet-stream"); } @Override protected void renderMergedOutputModel(Mapmodel, HttpServletRequest request, HttpServletResponse response) throws Exception{ File file = (File) model.get("downloadFile"); response.setContentType(getContentType()); response.setContentLength((int) file.length()); response.setHeader("Content-Disposition", "attachment; filename=\"" + java.net.URLEncoder.encode(file.getName(), "utf-8") + "\";"); response.setHeader("Content-Transfer-Encoding", "binary"); OutputStream out = response.getOutputStream(); FileInputStream fis = null; try { fis = new FileInputStream(file); FileCopyUtils.copy(fis, out); }catch(Exception e){ e.printStackTrace(); } finally { if(fis != null){ try{ fis.close(); }catch(IOException e){ e.printStackTrace(); } } } out.flush(); }
컨트롤러
@RequestMapping(value = "/download.do") public ModelAndView download(ModelMap model, @RequestParam("fileName") String fileName, HttpServletRequest req, HttpServletResponse resp) throws IOException{
String filePath = "C:\\upload\\"; File file = new File(filePath + fileName); model.addAttribute("fileName", fileName); model.addAttribute("filePath", filePath); return new ModelAndView("fileDownloadView", "downloadFile", file); }
JavaScript
$("#download").on("click", function(){ $("#fileName").val("파일.xlsx") $("#moveform").attr("action", "download.do").submit(); return false; });
반응형
'Language > Java' 카테고리의 다른 글
[JAVA] 한글깨짐 한방에 찾기 (0) | 2018.06.25 |
---|---|
[Java] exec와 ffmpeg 캡쳐를 이용한 동영상 썸네일 추출하기 (0) | 2015.01.30 |
입력 값 구하기 (0) | 2014.09.06 |
apach2.2 + tomcat7.0.53 연동 (0) | 2014.06.18 |
자바 (Java) 설치 및 환경변수 설정하기 (0) | 2014.05.03 |