위로
아래
파일 업로드
예시
더보기
![](https://blog.kakaocdn.net/dn/kMljO/btsw7w7InB4/NBahCACveWGaypuPwz58Z0/img.png)
<!-- uploadForm.JSP -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="${contextPath}../upload.do" method="post" enctype="multipart/form-data">
파일1: <input type="file" name="file1"><br>
파일2: <input type="file" name="file2"><br>
매개변수1: <input type="text" name="param1"><br>
매개변수2: <input type="text" name="param2"><br>
매개변수3: <input type="text" name="param3"><br>
<input type="submit" value="업로드">
</form>
</body>
</html>
//FileUpload 서블릿
import java.io.File;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
@WebServlet("/upload.do")
public class FileUpload extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doHandle(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doHandle(request, response);
}
private void doHandle(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String encoding = "utf-8";
File currentDirPath = new File("D:\\file");
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setRepository(currentDirPath);
factory.setSizeThreshold(1024*1024);
ServletFileUpload upload = new ServletFileUpload(factory);
try {
List items = upload.parseRequest(request);
for(int i=0;i<items.size();i++) {
FileItem fileItem = (FileItem) items.get(i);
if(fileItem.isFormField()) {
System.out.println(fileItem.getFieldName()+ "=" + fileItem.getString(encoding));
} else {
System.out.println("매개변수 이름 : "+fileItem.getFieldName());
System.out.println("파일 이름 : "+fileItem.getName());
System.out.println("파일 크기 : "+fileItem.getSize()+"bytes");
if(fileItem.getSize() > 0) {
int idx = fileItem.getName().lastIndexOf("\\");
if(idx == -1) {
idx = fileItem.getName().lastIndexOf("/");
}
String fileName = fileItem.getName().substring(idx+1);
File uploadFile = new File(currentDirPath + "\\" + fileName);
fileItem.write(uploadFile);
} //end if
} // end if
} // end for
} catch(Exception e) {
e.printStackTrace();
}
}
}
![](https://blog.kakaocdn.net/dn/kMljO/btsw7w7InB4/NBahCACveWGaypuPwz58Z0/img.png)