IE sendet kompletten Pfad…
import java.io.PrintWriter; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class FileUpload extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { out.println("<html>"); out.println("<head>"); out.println("<title>FileUpload</title>"); out.println("</head>"); out.println("<form enctype=\"multipart/form-data\" method=\"POST\" action=\"SaveData\">"); out.println("<table>"); for (int i = 0; i < 5; i++) { out.println("<tr>"); out.println("<td>File " + (i + 1) + ": </td>"); out.println("<td><input type=\"file\" name=\"file" + i + "\"></td>"); out.println("</tr>"); } out.println("</table>"); out.println("</form"); out.println("</html>"); } finally { out.close(); } } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } @Override public String getServletInfo() { return "Short description"; } }
import java.io.IOException; import java.io.PrintWriter; import java.io.File; import java.util.Iterator; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.tomcat.util.http.fileupload.FileItem; import org.apache.tomcat.util.http.fileupload.FileUploadException; import org.apache.tomcat.util.http.fileupload.disk.DiskFileItemFactory; import org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload; public class SaveData extends HttpServlet { private String filePath = "data/"; private File file; final private int maxSize = 10000000; // 10 MB final private int maxThreshold = 1000000; // 1 MB protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, FileUploadException, Exception { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { File dir = new File(filePath); if (!dir.exists()) { dir.mkdirs(); } DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(maxThreshold); factory.setRepository(new File(".")); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(maxSize); List fileItems = upload.parseRequest(request); Iterator it = fileItems.iterator(); while (it.hasNext()) { FileItem fi = (FileItem) it.next(); if (!fi.isFormField()) { file = new File(filePath + fi.getName()); fi.write(file); } } } finally { out.close(); } } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { processRequest(request, response); } catch (FileUploadException ex) { Logger.getLogger(CsvReceiver.class.getName()).log(Level.SEVERE, null, ex); } catch (Exception ex) { Logger.getLogger(CsvReceiver.class.getName()).log(Level.SEVERE, null, ex); } } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { processRequest(request, response); } catch (FileUploadException ex) { Logger.getLogger(CsvReceiver.class.getName()).log(Level.SEVERE, null, ex); } catch (Exception ex) { Logger.getLogger(CsvReceiver.class.getName()).log(Level.SEVERE, null, ex); } } @Override public String getServletInfo() { return "Short description"; } }