title: uploading multiple file formats to a server using jsp and store the path in database
body: <p>i want to upload files(all format) to a server and store the file location in a database(MySQL)i tried storing the files(all format)in a database using long-blob format,but it is not accepting the file size of not more-then 1kb and it accepts only text file.
  here is my html code</p>
  
  <pre><code>&lt;html&gt;
  &lt;head&gt;
      &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt;
      &lt;title&gt;JSP Page&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
      &lt;form enctype="multipart/form-data" action="upload.jsp" method="post"&gt;
          &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;
          &lt;center&gt;
              &lt;table border="0" bgcolor=#ccFDDEE&gt;
                  &lt;tr&gt;
                      &lt;td colspan="2" align="center"&gt;&lt;b&gt;UPLOAD THE FILE&lt;/b&gt;&lt;/td&gt;
                  &lt;/tr&gt;
                  &lt;tr&gt;
                      &lt;td colspan="2" align="center"&gt; &lt;/td&gt;
                  &lt;/tr&gt;
                  &lt;tr&gt;
                      &lt;td&gt;&lt;b&gt;Choose the file To Upload:&lt;/b&gt;&lt;/td&gt;
                      &lt;td&gt;&lt;INPUT NAME="file" TYPE="file"&gt;      &lt;/td&gt;
                  &lt;/tr&gt;
                  &lt;tr&gt;
                      &lt;td colspan="2" align="center"&gt; &lt;/td&gt;
                  &lt;/tr&gt;
                  &lt;tr&gt;
                      &lt;td colspan="2" align="center"&gt;&lt;input type="submit" value="Send File"&gt; &lt;/td&gt;
                  &lt;/tr&gt;
              &lt;table&gt;
          &lt;/center&gt; 
      &lt;/form&gt;
  &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>here is my jsp code for storing files to a database(using long-blob).</p>
  
  <pre><code>&lt;%@ page import="java.io.*,java.sql.*" %&gt;
  &lt;%
  String saveFile="";
  String contentType = request.getContentType();
  if ((contentType != null) &amp;&amp; (contentType.indexOf("multipart/form-data") &gt;= 0)) {
      DataInputStream in = new DataInputStream(request.getInputStream());
      int formDataLength = request.getContentLength();
      byte dataBytes[] = new byte[formDataLength];
      int byteRead = 0;
      int totalBytesRead = 0;
      while (totalBytesRead &lt; formDataLength) {
          byteRead = in.read(dataBytes, totalBytesRead,formDataLength);
          totalBytesRead += byteRead; 
      }
      String file = new String(dataBytes);
      saveFile = file.substring(file.indexOf("filename=\"") + 10);
      saveFile = saveFile.substring(0, saveFile.indexOf("\n"));
      saveFile = saveFile.substring(saveFile.lastIndexOf("\\") + 1,saveFile.indexOf("\""));
      int lastIndex = contentType.lastIndexOf("=");
      String boundary = contentType.substring(lastIndex + 1,contentType.length());
      int pos;
      pos = file.indexOf("filename=\"");
      pos = file.indexOf("\n", pos) + 1;
      pos = file.indexOf("\n", pos) + 1;
      pos = file.indexOf("\n", pos) + 1;
      int boundaryLocation = file.indexOf(boundary, pos) - 4;
      int startPos = ((file.substring(0, pos)).getBytes()).length;
      int endPos = ((file.substring(0, boundaryLocation)).getBytes()).length;
      saveFile="/home/adapco/Desktop"+saveFile;
      File ff = new File(saveFile);
      FileOutputStream fileOut = new FileOutputStream(ff);
      fileOut.write(dataBytes, startPos, (endPos - startPos));
      fileOut.flush();
      fileOut.close();
  %&gt;
  &lt;br&gt;
      &lt;table border="2"&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;b&gt;You have successfully upload the file by the name of:&lt;/b&gt;&lt;% out.println(saveFile);%&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/table&gt;
  &lt;%
      Connection connection = null;
      String connectionURL = "jdbc:mysql://localhost:3306/ksa";
      ResultSet rs = null;
      PreparedStatement psmnt = null;
      FileInputStream fis;
      try {
          Class.forName("com.mysql.jdbc.Driver").newInstance();
          connection = DriverManager.getConnection(connectionURL, "root", "root");
          File f = new File(saveFile);
          psmnt = connection.prepareStatement("insert into file(file_data) values(?)");
          fis = new FileInputStream(f);
          psmnt.setBinaryStream(1, (InputStream)fis, (int)(f.length()));
          int s = psmnt.executeUpdate();
          if(s&gt;0) {
              System.out.println("Uploaded successfully !");
          }
          else{
              System.out.println("unsucessfull to upload file.");
          }
      }
      catch(Exception e){
          e.printStackTrace();
      }
  }
  %&gt;
  </code></pre>
  
  <p>now i have to store the files either to a server and storing its path to db or to store the files(all formats)in a database using long-blob type.iam using netbeans and glassfish server(red hat linux).give me some idea.</p>