프로그래밍/Framework
[struts2] multipart/form-data로 파일 전송하기
galad
2010. 12. 14. 17:07
jsp
action
interceptor에 <interceptor-ref name="fileUpload"/> 설정되어 있고, <input type="file" name='img"> 태그의 name만 aciton의 멤버변수명과 일치시켜 주면 간단하게 파일을 받을 수 있다.
꼭 <s:file> 태그를 쓰지 않아도 상관없다.
<form name="frm "action="${pageContext.request.contextPath}/openapi/artist/add.omp" method="post" enctype="multipart/form-data"> <input type="text" name="test"><br> <input type="file" name="img"><br> <input type="submit"> </form> |
action
public class ArtistAction extends BaseAction { /** * */ private static final long serialVersionUID = 384851516132095345L; private final static Logger log = Logger.getLogger(ArtistAction.class); private File img; // 업로드할 실제 파일 private String imgFileName; // 업로드할 파일명, 규칙 : (파일input태그 name) + FileName public String add() { HttpServletRequest request = getRequest(); log.debug(request.getParameter("test")); log.debug("FileName = " + imgFileName); log.debug("FileSize = " + img.length()); return SUCCESS; } public File getImg() { return img; } public void setImg(File img) { this.img = img; } public String getImgFileName() { return imgFileName; } public void setImgFileName(String imgFileName) { this.imgFileName = imgFileName; } } |
interceptor에 <interceptor-ref name="fileUpload"/> 설정되어 있고, <input type="file" name='img"> 태그의 name만 aciton의 멤버변수명과 일치시켜 주면 간단하게 파일을 받을 수 있다.
꼭 <s:file> 태그를 쓰지 않아도 상관없다.