title: how to get the percentage of upload completed
body: <p>how can i get the percentage of upload completed 
  and do a progress update to my progress bar.</p>
  
  <p>I am adding my upload code. 
  I am using it in async task.</p>
  
  <p>please help.
  Thank you</p>
  
  <pre><code>ileInputStream fileInputStream = new FileInputStream(sourceFile);
                       URL url            =   new URL(upLoadServerUri);
                       conn               =   (HttpURLConnection) url.openConnection(); // Open a HTTP  connection to  the URL
                       conn.setDoInput(true); // Allow Inputs
                       conn.setDoOutput(true); // Allow Outputs
                       conn.setUseCaches(false); // Don't use a Cached Copy
                       conn.setRequestMethod("POST");
                       conn.setRequestProperty("Connection", "Keep-Alive");
                       conn.setRequestProperty("ENCTYPE", "multipart/form-data");
                       conn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary);
                       conn.setRequestProperty("uploaded_file", fileName); 
                       dos        =   new DataOutputStream(conn.getOutputStream());
  
                       dos.writeBytes(twoHyphens + boundary + lineEnd); 
                       dos.writeBytes("Content-Disposition: form-data; name=\"uploaded_file\";filename=\""+ fileName + "\"" + lineEnd);
                       dos.writeBytes(lineEnd);
                        Log.i("buffer", "jgf"+fileInputStream.read());
  
  
                       bytesAvailable = fileInputStream.available(); // create a buffer of  maximum size
                       bufferSize     = Math.min(bytesAvailable, maxBufferSize);
                       buffer         = new byte[bufferSize];
  
                       // read file and write it into form...
                       bytesRead      = fileInputStream.read(buffer, 0, bufferSize);  
  
                       while (bytesRead &gt; 0) 
                       {
                         dos.write(buffer, 0, bufferSize);
                         bytesAvailable =     fileInputStream.available();
                         bufferSize     =     Math.min(bytesAvailable, maxBufferSize);
                         bytesRead      =     fileInputStream.read(buffer, 0, bufferSize);
  }
  
  dos.writeBytes(lineEnd);
                           dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);
  
                       // Responses from the server (code and message)
                      serverResponseCode = conn.getResponseCode();
                      String serverResponseMessage    =   conn.getResponseMessage();
  
                       Log.i("uploadFile", "HTTP Response is : " + serverResponseMessage + ": " + serverResponseCode);
  
                       if(serverResponseCode == 200){
                           runOnUiThread(new Runnable() {
                                public void run() {
  
                                    Toast.makeText(getApplicationContext(), "File Upload Complete.", Toast.LENGTH_SHORT).show();                            
                                    dialog.dismiss();
  
                                }
                            });                
                       }    
  
                       //close the streams //
                       fileInputStream.close();
                       dos.flush();
                       dos.close();
  </code></pre>