Advertisement
Guest User

Untitled

a guest
Nov 29th, 2018
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.32 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.File;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.util.ArrayList;
  6. import java.util.Iterator;
  7. import java.util.List;
  8. import java.io.OutputStream;
  9. import java.net.URISyntaxException;
  10. import java.nio.charset.Charset;
  11. import java.nio.charset.StandardCharsets;
  12. import java.nio.file.Files;
  13. import java.nio.file.Path;
  14. import java.nio.file.Paths;
  15. import java.security.InvalidKeyException;
  16. import java.security.NoSuchAlgorithmException;
  17. import java.sql.Connection;
  18. import java.sql.DriverManager;
  19. import java.sql.ResultSet;
  20. import java.sql.SQLException;
  21. import java.sql.Statement;
  22. import java.io.FileInputStream;
  23.  
  24. import javax.crypto.NoSuchPaddingException;
  25. import javax.servlet.RequestDispatcher;
  26. import javax.servlet.ServletException;
  27. import javax.servlet.http.HttpServlet;
  28. import javax.servlet.http.HttpServletRequest;
  29. import javax.servlet.http.HttpServletResponse;
  30. import org.apache.commons.fileupload.FileItem;
  31. import org.apache.commons.fileupload.FileUploadException;
  32. import org.apache.commons.fileupload.disk.DiskFileItemFactory;
  33. import org.apache.commons.fileupload.servlet.ServletFileUpload;
  34.  
  35. import com.oreilly.servlet.multipart.Part;
  36.  
  37. /**
  38.  * Servlet to handle File upload request from Client
  39.  *
  40.  * @author Javin Paul
  41.  */
  42.  
  43.  
  44. public class FileUploadHandler extends HttpServlet {
  45.     /**
  46.      *
  47.      */
  48.     private static final long serialVersionUID = 1L;
  49.     //private final String UPLOAD_DIRECTORY = "C://upload";
  50.  
  51.     public FileUploadHandler() {
  52.         super();
  53.         // TODO Auto-generated constructor stub
  54.     }
  55.  
  56.     protected void doPost(HttpServletRequest request, HttpServletResponse response)
  57.             throws ServletException, IOException {
  58.    
  59.         DiskFileItemFactory factory = new DiskFileItemFactory();
  60.         ServletFileUpload upload = new ServletFileUpload(factory);
  61.         List<FileItem> items = null;
  62.        
  63.         try {
  64.             items = upload.parseRequest(request);
  65.         } catch (FileUploadException e) {
  66.             // TODO Auto-generated catch block
  67.             e.printStackTrace();
  68.         }
  69.         Iterator<FileItem> iter = items.iterator();
  70.         File temp = null; // file nacitany
  71.         File encrypted = null; // file zakodovany
  72.         String UPLOAD_DIRECTORY = getServletContext().getRealPath("");
  73.         String value = null;
  74.         while (iter.hasNext()) {
  75.             FileItem item = iter.next();
  76.             if (item.isFormField()) {
  77.                  value = item.getString();
  78.             }          
  79.         }
  80.         Iterator<FileItem> iter2 = items.iterator();
  81.         String name = null;
  82.         while (iter2.hasNext()) {
  83.             FileItem item = iter2.next();
  84.             if (!item.isFormField()) {
  85.            
  86.              name = new File(item.getName()).getName();
  87.             try {
  88.                 item.write(new File(UPLOAD_DIRECTORY + java.io.File.separator + "files" + java.io.File.separator + value + java.io.File.separator + name));
  89.             } catch (Exception e) {
  90.                 // TODO Auto-generated catch block
  91.                 e.printStackTrace();
  92.             }
  93.             temp = new File(UPLOAD_DIRECTORY + java.io.File.separator + "files" + java.io.File.separator + value + java.io.File.separator + name);
  94.             encrypted = new File(UPLOAD_DIRECTORY + java.io.File.separator + "files" + java.io.File.separator + value + java.io.File.separator + name);
  95.             }
  96.         }
  97.         try {
  98.             String path = UPLOAD_DIRECTORY + java.io.File.separator + "files" + java.io.File.separator + value
  99.                     + java.io.File.separator + "keys";         
  100.             CryptoUtils.encrypt(temp.getPath(), encrypted.getPath(), path);        
  101.         } catch (InvalidKeyException | NoSuchAlgorithmException | NoSuchPaddingException | URISyntaxException e) {
  102.             // TODO Auto-generated catch block
  103.             e.printStackTrace();
  104.         } catch (Exception e) {
  105.             // TODO Auto-generated catch block
  106.             e.printStackTrace();
  107.         }
  108.         /*response.setContentType("text/plain");
  109.         OutputStream out = response.getOutputStream();
  110.         FileInputStream in = new FileInputStream(encrypted);
  111.         byte[] buffer = new byte[1024];
  112.         int length;
  113.         while ((length = in.read(buffer)) > 0) {
  114.             out.write(buffer, 0, length);
  115.         }
  116.         in.close();
  117.         out.flush();*/
  118.         String a = request.getSession().getAttribute("userid").toString();
  119.         Path path = Paths.get(UPLOAD_DIRECTORY + java.io.File.separator + "files" + java.io.File.separator + value + java.io.File.separator + name);
  120.         byte[] obj =a.getBytes();
  121.         Files.setAttribute(path,"user:kodovanie", obj);
  122.        
  123.         // databaza
  124.         Connection con = null;
  125.         try {
  126.             con = DriverManager.getConnection("jdbc:mysql://147.175.121.179:3306/skuska_denis", "root", "");
  127.         } catch (SQLException e) {
  128.             // TODO Auto-generated catch block
  129.             e.printStackTrace();
  130.         }
  131.         Statement st = null;
  132.         try {
  133.             st = con.createStatement();
  134.         } catch (SQLException e) {
  135.             // TODO Auto-generated catch block
  136.             e.printStackTrace();
  137.         }
  138.         ResultSet rs = null;
  139.         ArrayList<String> uzivatelia = new ArrayList<String>();
  140.         try {
  141.             rs = st.executeQuery("select login from users");
  142.         } catch (SQLException e) {
  143.             // TODO Auto-generated catch block
  144.             e.printStackTrace();
  145.         }
  146.  
  147.         try {
  148.             while (rs.next()) {
  149.                 uzivatelia.add(rs.getString("login"));
  150.             }
  151.         } catch (SQLException e) {
  152.             // TODO Auto-generated catch block
  153.             e.printStackTrace();
  154.         }
  155.  
  156.         String[] pole_uzivatelov = new String[uzivatelia.size()];
  157.  
  158.         for (int x = 0; x < uzivatelia.size(); x++) {
  159.             pole_uzivatelov[x] = uzivatelia.get(x);
  160.         }
  161.         request.setAttribute("logins", pole_uzivatelov);
  162.        
  163.        
  164.         request.getRequestDispatcher("/index.jsp").forward(request, response);
  165.  
  166.     }
  167.  
  168. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement