/**
* code from: http://stackoverflow.com/questions/15432024/how-to-upload-a-file-using-commons-file-upload-streaming-api
*/
@WebServlet("/upload4")
public class UploadServlet4 extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
response.setHeader("Content-Type", "text/html");
out.print("Request content length is " + request.getContentLength()
+ "<br/>");
out.print("Request content type is "
+ request.getHeader("Content-Type") + "<br/>");
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
ServletFileUpload upload = new ServletFileUpload();
try {
FileItemIterator iter = upload.getItemIterator(request);
FileItemStream item = null;
String name = "";
InputStream stream = null;
while (iter.hasNext()) {
item = iter.next();
name = item.getFieldName();
stream = item.openStream();
if (item.isFormField()) {
out.write("Form field " + name + ": "
+ Streams.asString(stream) + "<br/>");
} else {
name = item.getName();
System.out.println("name==" + name);
if (name != null && !"".equals(name)) {
String fileName = new File(item.getName())
.getName();
out.write("Client file: " + item.getName()
+ " <br/>with file name " + fileName
+ " was uploaded.<br/>");
File file = new File(getServletContext()
.getRealPath("/" + fileName));
FileOutputStream fos = new FileOutputStream(file);
long fileSize = Streams.copy(stream, fos, true);
out.write("Size was " + fileSize + " bytes <br/>");
out.write("File Path is " + file.getPath()
+ "<br/>");
}
}
}
} catch (FileUploadException fue) {
out.write("fue!!!!!!!!!");
}
}
}
}