title: ServletFileUpload#parseRequest(request) returns an empty list
body: <p>I have a client application in Android which uses <code>HttpURLConnection</code> to send files to the server. The server uses the Apache Commons FileUpload API to parse the form-data values.</p>
  
  <p>The <code>HttpURLConnection</code> sends this request:</p>
  
  <pre><code>-----------------------------4912995119421
  Content-Disposition: form-data; name="deviceid"
  
  9428103
  -----------------------------4912995119421
  Content-Disposition: form-data; name="countryid"
  
  598
  -----------------------------4912995119421
  Content-Disposition: form-data; name="number"
  
  98621360
  -----------------------------4912995119421
  Content-Disposition: form-data; name="file"; filename="2012-12-08 17.42.18.jpg"
  Content-Type: image/jpeg
  
  ÿØÿá1 Exif  II*    
        @      °      ª    
     ²              ¼       Ä   (       1    Ì   2    Ø          i‡    ì   %ˆ    \  n  SAMSUNG GT-S5360L H      H      S5360LUHLB1 2012:12:08 17:42:18  š‚    î  ?‚    ö  "ˆ       'ˆ    È    ?    0220?    þ  ?      ‘     ’    &amp;  ’       
  ’    .        0100             @       °       &gt;  £       ¤        ¤        ¤    6  ¤                     
     2012:12:08 17:42:18 2012:12:08 17:42:18    
       d               R98      0100                         (           ¤      T.      ÿØÿà JFIF      ÿÛ C @@ÿÛ 
  -----------------------------4912995119421--
  </code></pre>
  
  <p>The server code:</p>
  
  <pre><code>    String contentType = request.getContentType();
      if ((contentType.indexOf("multipart/form-data") == -1)) {
          response.setStatus(HttpServletResponse.SC_NOT_FOUND);
          return;
      }
  
  
      long maxFileSize = (2 * 1024 * 1024);
  
      int maxMemSize = (2 * 1024 * 1024);
  
      DiskFileItemFactory factory = new DiskFileItemFactory();
      // maximum size that will be stored in memory
      factory.setSizeThreshold(maxMemSize);
  
      // Create a new file upload handler
      ServletFileUpload upload = new ServletFileUpload(factory);
      // maximum file size to be uploaded.
  
      upload.setSizeMax(maxFileSize);
  
      List fileItems = upload.parseRequest(request);
      Iterator i = fileItems.iterator();
  
  
      //leo primero todas las variables.
  
      int deviceID = 0;
      int countryID = 0;
      String phoneNumber = "";
  
  
  
      while (i.hasNext()) {
          FileItem fi = (FileItem) i.next();
  
          if (fi.isFormField()) {
              String variable = fi.getFieldName();
              if (variable.equals("deviceid")) {
                  deviceID = Integer.parseInt(fi.getString());
              } else if (variable.equals("countryid")) {
                  countryID = Integer.parseInt(fi.getString());
              } else if (variable.equals("number")) {
                  phoneNumber = String.valueOf(Long.parseLong(fi.getString()));
              }
  
          }
  
      }
  
      if (deviceID == 0 || countryID == 0 || phoneNumber.equals("")) {
          response.setStatus(HttpServletResponse.SC_NOT_FOUND);
          return;
      }
  </code></pre>
  
  <p>The problem is in the line <code>List fileItems = upload.parseRequest(request);</code>. 
  The returned list is empty and I can not get the form-data values.</p>