Advertisement
Guest User

Untitled

a guest
Jan 29th, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.32 KB | None | 0 0
  1. import java.io.IOException;
  2. import java.io.InputStream;
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.PreparedStatement;
  6. import java.sql.SQLException;
  7.  
  8.  
  9.  
  10. import javax.servlet.ServletException;
  11. import javax.servlet.annotation.MultipartConfig;
  12. import javax.servlet.annotation.WebServlet;
  13. import javax.servlet.http.HttpServlet;
  14. import javax.servlet.http.HttpServletRequest;
  15. import javax.servlet.http.HttpServletResponse;
  16. import javax.servlet.http.Part;
  17.  
  18. @SuppressWarnings("serial")
  19. @WebServlet("/upload")
  20. @MultipartConfig(maxFileSize = 16177215)
  21. public class FileUploadDBServlet extends HttpServlet {
  22.  
  23.  
  24. private String dbURL = "jdbc:oracle:thin:@localhost:1521:xe";
  25. private String dbUser = "system";
  26. private String dbPass = "system";
  27.  
  28. protected void doPost(HttpServletRequest request,
  29. HttpServletResponse response) throws ServletException, IOException {
  30.  
  31. String fileId = request.getParameter("fileId");
  32. String fieldName = request.getParameter("fieldName");
  33.  
  34. InputStream inputStream = null;
  35.  
  36.  
  37. Part filePart = request.getPart("fileData");
  38. if (filePart != null) {
  39.  
  40. System.out.println(filePart.getName());
  41. System.out.println(filePart.getSize());
  42. System.out.println(filePart.getContentType().equals("application/pdf"));
  43.  
  44. // obtains input stream of the upload file
  45. inputStream = filePart.getInputStream();
  46. }
  47.  
  48. Connection conn = null;
  49. String message = null;
  50.  
  51. try {
  52. // connects to the database
  53. DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
  54. conn = DriverManager.getConnection(dbURL, dbUser, dbPass);
  55.  
  56. // constructs SQL statement
  57. String sql = "INSERT INTO filetable (fileId, fieldName, fileData) values (?, ?, ?)";
  58. PreparedStatement statement = conn.prepareStatement(sql);
  59. statement.setString(1, fileId);
  60. statement.setString(2, fieldName);
  61.  
  62. if (inputStream != null) {
  63. // fetches input stream of the upload file for the blob column
  64. statement.setBlob(3, inputStream);
  65. }
  66.  
  67. // sends the statement to the database server
  68. int row = statement.executeUpdate();
  69. if (row > 0) {
  70. message = "File uploaded and saved into database";
  71. }
  72. } catch (SQLException ex) {
  73. message = "ERROR: " + ex.getMessage();
  74. ex.printStackTrace();
  75. } finally {
  76. if (conn != null) {
  77. // closes the database connection
  78. try {
  79. conn.close();
  80. } catch (SQLException ex) {
  81. ex.printStackTrace();
  82. }
  83. }
  84. // sets the message in request scope
  85. request.setAttribute("Message", message);
  86.  
  87. // forwards to the message page
  88. getServletContext().getRequestDispatcher("/Message.jsp").forward(request, response);
  89. }
  90. }
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement