title: android-- upload file to server but unable to save the file on server
body: <p>Hi so I managed to send file from app to server however it will return 503 (file not exist) after i send to server. can anyone check my code please</p>
  
  <p>Error: HTTP Response is: Service Temporarily Unavailable: 503
  I should get 502 if file exist or 200 OK if file uploaded</p>
  
  <p>This is the java function.   </p>
  
  <pre><code>private int upload(String uri_)
  {
      String fileName = uri_;
  
      HttpURLConnection conn = null;
      DataOutputStream dos = null;  
      String lineEnd = "\r\n";
      String twoHyphens = "--";
      String boundary = "*****";
      int bytesRead, bytesAvailable, bufferSize;
      byte[] buffer;
      int maxBufferSize = 1 * 1024 * 1024; 
      File sourceFile = new File(uri_); 
  
      if (!sourceFile.isFile()) {
  
          dialog.dismiss(); 
  
          Log.e("uploadFile", "Source File not exist :"
                              +fileName);
  
  
          return 0;
  
     }
  
      else
      {
           try { 
  
                 // open a URL connection to the Servlet
               FileInputStream fileInputStream = new FileInputStream(sourceFile);
               URL url = new URL(url_);
  
               // Open a HTTP  connection to  the URL
               conn = (HttpURLConnection) url.openConnection();
  
               // Allow Inputs &amp; Outputs
               conn.setDoInput(true);
               conn.setDoOutput(true);
               conn.setUseCaches(false);
  
               // Enable POST method
               conn.setRequestMethod("POST");
  
               conn.setRequestProperty("Connection", "Keep-Alive");
               conn.setRequestProperty("Content-Type", "multipart/form-data;boundary");
  
               dos = new DataOutputStream( conn.getOutputStream() );
               dos.writeBytes(twoHyphens + boundary + lineEnd);
               dos.writeBytes("Content-Disposition: form-data; name=\"uploadedfile\";filename=\"" + fileName );
               dos.writeBytes(lineEnd);
  
               bytesAvailable = fileInputStream.available();
               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);   
  
                }
  
               // send multipart form data necesssary after file data...
               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(PhotoActivity.this, "File Upload Complete.", 
                                         Toast.LENGTH_SHORT).show();
                        }
                    });                
               }    
  
               //close the streams //
               fileInputStream.close();
               dos.flush();
               dos.close();
  
          } catch (MalformedURLException ex) {
  
              dialog.dismiss();  
              ex.printStackTrace();
  
              runOnUiThread(new Runnable() {
                  public void run() {
  
                      Toast.makeText(PhotoActivity.this, "MalformedURLException", 
                                                          Toast.LENGTH_SHORT).show();
                  }
              });
  
              Log.e("Upload file to server", "error: " + ex.getMessage(), ex);  
          }
           catch (Exception e) {
  
               dialog.dismiss();  
               e.printStackTrace();
  
               runOnUiThread(new Runnable() {
                   public void run() {
  
                       Toast.makeText(PhotoActivity.this, "Got Exception : see logcat ", 
                               Toast.LENGTH_SHORT).show();
                   }
               });
               Log.e("Upload file to server Exception", "Exception : "
                                                + e.getMessage(), e);  
           }
           dialog.dismiss();       
           return serverResponseCode; 
  
        } // End else block 
  
  }
  </code></pre>
  
  <p>for PHP part </p>
  
  <pre><code>&lt;?php
  $tar="./";
  $src=$_FILES['uploadedfile']['name'];
  $tar=$tar . basename($src);
  if(file_exists($src))
  {
  if(move_uploaded_file($src,$tar))
  {
  echo "success";
  }
  else
  {header("Server Error",ture,502);}
  }
  else
  {header("Server Error",ture,503);}
  ?&gt;
  </code></pre>