I may be wrong but i am guessing that you r trying to access your own
system.in that case you need to provide the loopback address(127.0.0.1) in
the url. If that doesnt help, something's wrong with your local.hosts file.
Google should help you with that.

On 2 Dec 2010 22:40, "zeeshan mirza" <[email protected]> wrote:

I am trying to upload a picture to my php server from android
application. Both are developed by me. I am getting error when i try
to upload picture from my android app to php server.
The error is "11-28 05:37:55.310: DEBUG/SntpClient(59): request time
failed: java.net.SocketException: Address family not supported by
protocol"

and the code for my android app and php server is as follows

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 App
import java.io.FileInputStream;
import android.app.Activity;
import android.os.Bundle;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import android.util.Log;

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";

// Is this the place are you doing something wrong.
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/index.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(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);

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", "error: " + ex.getMessage(), ex);

     }



     catch (IOException ioe)

     {

          Log.e("MediaPlayer", "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);
     }

   }
   }

Please help if anybody knows where the problem is.

//Zeeshan

--
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]<android-developers%[email protected]>
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

-- 
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