Struts2 동시 다중 파일 업로드

단계:
1단계: WEB-INF/lib에서 commons-fileupload-1.2.1을 추가합니다.jar、commns-io-1.32.2.jar
2단계:
    <form action="${pageContext.request.contextPath}/control/employee/list_execute.action" enctype="multipart/form-data" method="post">
    	 1:<input type="file" name="image"><br/>
    	 2:<input type="file" name="image"><br/>
    	 3:<input type="file" name="image"><br/>
    	<input type="submit" value=" "/>
    </form>

참고: enctype="multipart/form-data"method="post"는 고정값입니다.
3단계:
public class HelloWorldAction {
	private File[] image; // 
	private String[] imageFileName; // 
	private String[] imageContentType; // 
	public File[] getImage() {
		return image;
	}

	public void setImage(File[] image) {
		this.image = image;
	}

	public String[] getImageFileName() {
		return imageFileName;
	}

	public void setImageFileName(String[] imageFileName) {
		this.imageFileName = imageFileName;
	}
	
	public String[] getImageContentType() {
		return imageContentType;
	}

	public void setImageContentType(String[] imageContentType) {
		this.imageContentType = imageContentType;
	}
	public String execute() throws Exception{
		String realpath = ServletActionContext.getServletContext().getRealPath("/images");
		if(image!=null){
			File savedir = new File(realpath);
			if(!savedir.exists()) savedir.mkdirs();
			for(int i = 0 ; i<image.length ; i++){				
				File savefile = new File(savedir, imageFileName[i]);
				FileUtils.copyFile(image[i], savefile);
			}
			ActionContext.getContext().put("message", " ");
		}
		return "success";
	}
}

주의: 이미지 속성은form 폼 업로드 컨트롤 이름과 일치해야 합니다

좋은 웹페이지 즐겨찾기