Servlet -UploadController
@WebServlet("/upload") @MultipartConfig(location = "D:\\temp\\upload") public class UploadController extends HttpServlet { private static final long serialVersionUID = 1L; static Logger logger = Logger.getLogger(UploadController.class); /** * @see HttpServlet#HttpServlet() */ public UploadController() { super(); // TODO Auto-generated constructor stub } public void init(ServletConfig config) throws ServletException { super.init(config); logger.info("---------------------"); logger.info("upload test"); logger.info("---------------------"); } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse * response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { RequestDispatcher rd = request.getRequestDispatcher("/WEB-INF/jsp/uploadform.jsp"); rd.forward(request, response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html; charset=utf-8"); PrintWriter out = response.getWriter(); if (request.getContentType().startsWith("multipart/")) { processParam(request, response); // name = id processFile(request, response); // name = file1 } else { out.println("jsp -uploadmultipart 형식이 아님
"); } } public void processParam(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { Part parm = request.getPart("id"); InputStream in = parm.getInputStream(); InputStreamReader reader = new InputStreamReader(in, "utf-8"); int rtn = -1; String id = ""; while ((rtn = reader.read()) != -1) { id += (char) rtn; } logger.info("id : " + id); request.setAttribute("id", id); } public void processFile(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { ServletContext application = getServletContext(); String upLoadDir = application.getRealPath("/upload"); logger.info("/upload 경로 : " + upLoadDir); Part file1 = request.getPart("file1"); String file1_name = file1.getHeader("Content-Disposition"); // 파일 이름을 앞에서부터 검색 int idx = file1_name.indexOf("filename"); logger.info("first index : " + idx); file1_name = file1_name.substring(idx, file1_name.length() - 1); // 파일 이름이 경로로 나올경우 index 로 뒤에서부터 \\ 가 있는곳 까지 검색 idx = file1_name.lastIndexOf("\\"); // (\\)가 있는 곳 까지 검색 if (idx > -1) { // (\\)가 있으면 실행 file1_name = file1_name.substring(idx + 1, file1_name.length()); } logger.info("file1_name : " + file1_name); // log로 파일 이름 확인 logger.info("index : " + idx); // 이름 좌표 확인 file1.write(upLoadDir + "\\" + file1_name); request.setAttribute("model", file1_name); RequestDispatcher rd = request.getRequestDispatcher("/WEB-INF/jsp/download.jsp"); rd.forward(request, response); } }
jsp -download
upload test
download ${medel }
${id}
${model}
'JSP' 카테고리의 다른 글
window.open 속성 (0) | 2015.10.13 |
---|