Posted by eidolon on Sat 3rd May 23:14 (modification of post by view diff)
diff | download | new post
- package com.areteinc.servlets;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.util.Iterator;
- import java.util.List;
- import javax.servlet.ServletException;
- 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.FileItemFactory;
- import org.apache.commons.fileupload.FileUploadException;
- import org.apache.commons.fileupload.disk.DiskFileItemFactory;
- import org.apache.commons.fileupload.servlet.ServletFileUpload;
- import org.apache.log4j.Level;
- import org.apache.log4j.Logger;
- public class Filer extends HttpServlet {
- private Logger logger = Logger.getLogger(Filer.class);
- public Filer() {
- logger.setLevel(Level.DEBUG);
- }
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- logger.debug("Serving up a GET page...");
- response.append("<HTML><HEAD><TITLE>JENA File Uploader</TITLE></HEAD><BODY>");
- response.append("<FORM action=\"Filer\" method=\"POST\" enctype=\"multipart/form-data\">");
- response.append("Upload file: <input type=\"file\" name=\"file1\"/><br>");
- response.append("Upload file: <input type=\"file\" name=\"file2\"/><br>");
- response.append("<input type=submit value=\"Start upload\">");
- response.append("</BODY>");
- writer.println(response);
- }
- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- // First see if someone is uploading more than one file at a time...
- boolean isMultipart = ServletFileUpload.isMultipartContent(req);
- logger.debug("Received a POST request. Multipart is flagged as " + isMultipart);
- // Create a factory for disk-based file items
- FileItemFactory factory = new DiskFileItemFactory();
- // Create a new file upload handler
- ServletFileUpload upload = new ServletFileUpload(factory);
- // Parse the request
- try {
- List<FileItem> items = upload.parseRequest(req);
- logger.debug("Size of upload is " + items.size() + " items.");
- while(itr.hasNext()) {
- FileItem item = (FileItem) itr.next();
- logger.debug("Filename is " + item.getName());
- }
- } catch (FileUploadException e) {
- e.printStackTrace();
- }
- }
- }
- -----------
- Run, with 2 files selected to upload:
- 13:50:15,421 DEBUG [Filer] Received a POST request. Multipart is flagged as true
- 13:50:15,421 DEBUG [Filer] Size of upload is 0 items.
Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.