title: upload a file in a servlet
body: <p>I need to store <code>cad</code> files on my server, but I can't get the upload to work. I tried to get this working for hours but I just can't. Atm I have this. 
  This gives me an error that </p>
  
  <p><em>random number</em>.temp doesn't exist <code>( java.io.FileNotFoundException: /home/nick/.netbeans/7.1.2/config/GF3_1/domain1/generated/jsp/lrt/upload_700679fb_13a96c78523__7ffb_00000006.tmp (No such file or directory )</code></p>
  
  <pre><code>package Admin;
  
  import java.io.IOexception;
  import java.io.InputStream;
  import java.io.PrintWriter;
  import java.util.Collection;
  import javax.servlet.ServletException;
  import javax.servlet.annotation.MultipartConfig;
  import javax.servlet.annotation.WebServlet;
  import javax.servlet.http.HttpServlet;
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
  import javax.servlet.http.Part;
  
  @WebServlet(name = "UploadServlet", urlPatterns = {"/UploadServlet"})
  @MultipartConfig
  public class UploadServlet extends HttpServlet {
  
      @Override
       protected void doPost(HttpServletRequest request, 
         HttpServletResponse responst) throws ServletException, IOException {
        Collection&lt;Part&gt; parts = request.getParts();
        if (parts.size() != 3) {
           //can write error page saying all details are not entered
        }
         Part filePart = request.getPart("cad");
         InputStream sInputStream = filePart.getInputStream();
         //read imageInputStream
         filePart.write(filePart.getName());
         //Read Name, String Type 
         Part namePart = request.getPart("cad");
         if(namePart.getSize() &gt; 20){
             //write name cannot exceed 20 chars
         }
         //use nameInputStream if required        
         InputStream nameInputStream = namePart.getInputStream();
         //name , String type can also obtained using Request parameter 
         String nameParameter = request.getParameter("name");
         //Similarly can read age properties
         Part agePart = request.getPart("age");
         int ageParameter = Integer.parseInt(request.getParameter("age"));
      }
  
      @Override
      public String getServletInfo() {
          return "Short description";
      }
  }
  </code></pre>