설정 파일 부터
가장 많이 사용 되는 CommonsMultipartResolver 를 사용해본다.
jsp 파일 내용은 간단함
/*
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Insert title here
*/
컨트롤러 내용은 더 간단함
package egovframework.test.fileupload;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
@Controller
public class FileUploadController {
@RequestMapping(value="/test/fileUploadView.do")
public String fileUploadView(ModelMap model, HttpServletRequest request) throws Exception {
return "fileupload/upload";
}
@RequestMapping(value="/test/fileUpload.do")
public String fileUpload(@RequestParam("file") MultipartFile file, ModelMap model, HttpSession session) throws Exception {
String uploadPath = session.getServletContext().getRealPath("/upload/");
//실제 디플로이되는 폴더의 root path를 따온다
System.out.println("UPLOAD_PATH : "+uploadPath);
FileCopyUtils.copy(file.getInputStream(), new FileOutputStream(uploadPath+"/"+file.getOriginalFilename()));
//upload 폴더안에 등록하겠다는 말
return "fileupload/upload";
}
@RequestMapping(value="/test/ajaxGetFileUrlList.do")
@ResponseBody
public List ajaxGetFileUrlList(ModelMap model) throws Exception {
return new ArrayList();
}
}