Advertisement
yerzhik

Untitled

Dec 23rd, 2013
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.63 KB | None | 0 0
  1. package com.magnifi.schedserv.webinterface;
  2.  
  3. import java.io.FileNotFoundException;
  4. import java.io.FileOutputStream;
  5. import java.io.IOException;
  6. import java.io.InputStream;
  7. import java.io.OutputStream;
  8. import java.io.PrintWriter;
  9. import java.io.File;
  10.  
  11. import javax.servlet.ServletException;
  12. import javax.servlet.annotation.MultipartConfig;
  13. import javax.servlet.annotation.WebServlet;
  14. import javax.servlet.http.HttpServlet;
  15. import javax.servlet.http.HttpServletRequest;
  16. import javax.servlet.http.HttpServletResponse;
  17. import javax.servlet.http.Part;
  18.  
  19. @WebServlet(name = "FileUploadServlet", urlPatterns = {"/upload"})
  20. @MultipartConfig
  21. public class FileUploadServlet extends HttpServlet {
  22.     private static final long serialVersionUID = 1L;
  23.  
  24.     protected void processRequest(HttpServletRequest request,
  25.             HttpServletResponse response)
  26.             throws ServletException, IOException {
  27.         response.setContentType("text/html;charset=UTF-8");
  28.  
  29.         // Create path components to save the file
  30.         final String path = request.getParameter("destination");
  31.         final Part filePart = request.getPart("file");
  32.         final String fileName = getFileName(filePart);
  33.  
  34.         OutputStream out = null;
  35.         InputStream filecontent = null;
  36.         final PrintWriter writer = response.getWriter();
  37.  
  38.         try {
  39.             out = new FileOutputStream(new File(path + File.separator + fileName));
  40.             filecontent = filePart.getInputStream();
  41.  
  42.             int read = 0;
  43.             final byte[] bytes = new byte[1024];
  44.  
  45.             while ((read = filecontent.read(bytes)) != -1) {
  46.                 out.write(bytes, 0, read);
  47.             }
  48.             writer.println("New file " + fileName + " created at " + path);
  49.         } catch (FileNotFoundException fne) {
  50.             writer.println("You either did not specify a file to upload or are "
  51.                     + "trying to upload a file to a protected or nonexistent "
  52.                     + "location.");
  53.             writer.println("<br/> ERROR: " + fne.getMessage());
  54.         } finally {
  55.             if (out != null) {
  56.                 out.close();
  57.             }
  58.             if (filecontent != null) {
  59.                 filecontent.close();
  60.             }
  61.             if (writer != null) {
  62.                 writer.close();
  63.             }
  64.         }
  65.     }
  66.  
  67.     private String getFileName(final Part part) {
  68.         final String partHeader = part.getHeader("content-disposition");
  69.         for (String content : part.getHeader("content-disposition").split(";")) {
  70.             if (content.trim().startsWith("filename")) {
  71.                 return content.substring(
  72.                         content.indexOf('=') + 1).trim().replace("\"", "");
  73.             }
  74.         }
  75.         return null;
  76.     }
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement