import java.io.File;
import java.io.IOException;
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.FileUpload;

/**
 * FileUploadの練習
 */
public class HogeSrv extends HttpServlet {

	protected void doPost(HttpServletRequest req, HttpServletResponse res)
		throws ServletException, IOException {

		try {
			FileUpload fu = new FileUpload();
			fu.setSizeMax(1000000);
			fu.setSizeThreshold(4096);
			fu.setRepositoryPath("/tmp");

			List fileItems = fu.parseRequest(req);

			Iterator iter = fileItems.iterator();
			while (iter.hasNext()) {
				FileItem item = (FileItem) iter.next();

				System.out.println(item.getFieldName());

				if (item.isFormField()) {
					System.out.println("普通のフィールドっす");

				} else {
					System.out.println("ファイルっす");

					String path = getServletContext().getRealPath("");
					String clientPath = item.getName();

					String fileName = new File(clientPath).getName();//←本当はこれはダメ
					String saveRoot = getServletContext().getRealPath("file");
					File dir = new File(saveRoot);
					File file = new File(dir, fileName);
					item.write(file.getAbsolutePath());
				}
			}

		} catch (Exception e) {
			e.printStackTrace();
			throw new ServletException(e);
		}

	}
}
