글 수 82
servlet 3.0에서는 FileUpload가 한결해졌다.
FileUploadServlet.java
FileUploadServlet.java
@WebServlet("/upload.html")
@MultipartConfig(location="c:\\temp", fileSizeThreshold=1024*1024, maxFileSize=1024*1024*5, maxRequestSize=1024*1024*5*5)
public class FileUploadServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
getServletContext().getRequestDispatcher("/form.jsp").forward(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
Collection<Part> parts = req.getParts();
out.write("<h2> Total parts : "+parts.size()+"</h2>");
for(Part part : parts) {
printPart(part, out);
part.write("samplefile");
}
}
private void printPart(Part part, PrintWriter pw) {
StringBuffer sb = new StringBuffer();
sb.append("<p>");
sb.append("Name : "+part.getName());
sb.append("<br>");
sb.append("Content Type : "+part.getContentType());
sb.append("<br>");
sb.append("Size : "+part.getSize());
sb.append("<br>");
for(String header : part.getHeaderNames()) {
sb.append(header + " : "+part.getHeader(header));
sb.append("<br>");
}
sb.append("</p>");
pw.write(sb.toString());
}
}
form.jsp
form.jsp
<html>
<head></head>
<body>
<p>Commons File Upload Example</p>
<form action="upload.html" enctype="multipart/form-data" method="POST">
<input type="file" name="file1"><br>
<input type="Submit" value="Upload File"><br>
</form>
</body>
</html>
