Hello Friends,

I want to upload images from android application to php server. Both
are developed by me. Server is not accepting files from android
client. Please have a loot at my code and let me know if someone knows
the problem. I am using xampp for apache and php. Here is my code for
php server and android application.

*****************************************************************************************
PHP SERVER
*****************************************************************************************
<?php

$target_path = "/uploads/";

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
        echo "The file ". basename( $_FILES['uploadedfile']['name']).
" has been uploaded";
}

else{
echo "There was an error uploading the file, please try again!";
}
?>
*******************************************************************************************

*******************************************************************************************
Android Application
*******************************************************************************************
public class uploadfile extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        doFileUpload();
    }

    private void doFileUpload(){
                                                                
HttpURLConnection conn = null;
                                                                
DataOutputStream dos = null;
                                                                DataInputStream 
inStream = null;
                                                                String 
exsistingFileName = "/sdcard/def.JPG";
                                                        
                                                                String lineEnd 
= "rn";
                                                                String 
twoHyphens = "--";
                                                                String boundary 
=  "*****";
                                                                
                                                                int bytesRead, 
bytesAvailable, bufferSize;
                                                                byte[] buffer;
                                                                int 
maxBufferSize = 1*1024*1024;
                                                                String 
responseFromServer = "";
                                                                String 
urlString = "http://192.168.1.6/uploader.php";;
                                                                
                                                                try
                                                                        {
                                                                                
//------------------ CLIENT REQUEST
                                                                                
Log.e("MediaPlayer","Inside second Method");
                                                                                
FileInputStream fileInputStream = new
FileInputStream(new File(exsistingFileName) );

                                                                                
// open a URL connection to the Servlet
                                                                                
URL url = new URL(urlString);
                                                                                
                                                                                
// Open a HTTP connection to the URL
                                                                                
conn = (HttpURLConnection) url.openConnection();
                                                                                
                                                                                
// Allow Inputs
                                                                                
conn.setDoInput(true);

                                                                                
// Allow Outputs
                                                                                
conn.setDoOutput(true);

                                                                                
// Don't use a cached copy.
                                                                                
conn.setUseCaches(false);
                                                                                
                                                                                
// Use a post method.
                                                                                
conn.setRequestMethod("POST");
                                                                                
conn.setRequestProperty("Connection", "Keep-Alive");
                                                                                
conn.setRequestProperty("Content-Type",
"multipart/form-data;boundary="+boundary);
                                                                                

                                                                                
dos = new DataOutputStream( conn.getOutputStream() );
                                                                                
//dos.writeBytes(str);
                                                                                
dos.writeBytes(twoHyphens + boundary + lineEnd);
                                                                                
dos.writeBytes("Content-Disposition: form-data;
name=\"uploadedfile\";filename=\""
                                                                                
                                        + exsistingFileName + "\"" + lineEnd);
                                                                                
dos.writeBytes(lineEnd);
                                                                                
Log.e("MediaPlayer","Headers are written");
                                                                                
                                                                                
// create a buffer of maximum size
                                                                                
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 > 0){
                                                                                
                                                dos.write(buffer, 0, 
bufferSize);
                                                                                
                                                Log.e("MediaPlayer","File 
sending in progress");
                                                                                
                                                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);
                                                                                
                                                                                
// close streams
                                                                                
Log.e("MediaPlayer","File is written");
                                                                                
fileInputStream.close();
                                                                                
dos.flush();
                                                                                
dos.close();
                                                                                
                                        }

          catch (MalformedURLException ex)

         {

               Log.e("MediaPlayer", "MalformedURLException error: " +
ex.getMessage(), ex);

          }



          catch (IOException ioe)

          {

               Log.e("MediaPlayer", "IOException error: " +
ioe.getMessage(), ioe);

          }

          //------------------ read the SERVER RESPONSE
          try {
                inStream = new DataInputStream ( conn.getInputStream() );
                String str;

                while (( str = inStream.readLine()) != null)
                {
                     Log.e("MediaPlayer","Server Response: "+str);
                }

                inStream.close();
          }

          catch (IOException ioex){
               Log.e("MediaPlayer", "error: " + ioex.getMessage(), ioex);
          }

        }
}
***************************************************************************************************

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to