2014년 3월 26일 수요일

Spring 파일 업로드

설정 파일 부터

     
        
        
    
    
    

가장 많이 사용 되는 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();
    } 
}

댓글 2개: