Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/05/2012, 19:42
Alemanarg
 
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires, Mar del plata
Mensajes: 250
Antigüedad: 15 años, 9 meses
Puntos: 2
Subir imagen via httpclient (php)

Hola!!!

Estoy en un problema que quiero resolver, a ver si me pueden ayudar :)

Quiero enviar una imagen a una base MYSQL por medio de httpclient. Ya tengo el archivo .php (donde le puse el campo BLOB)

Parte del codigo es esta, donde el problema está cdo quiero enviar junto a otra info (principalmente string) la imagen

Código:
Bitmap imagen = BitmapFactory.decodeResource(getResources(), R.drawable.prueba);  

   public void insert(){

	String input_data= "xxxxxxxxx.php";
        
           HttpClient httpClient = new DefaultHttpClient();  
           HttpPost httpPost = new HttpPost(input_data); 

        // Se asignan los valores para agregar a la base. En el fichero php está esperando: "user" y "mail"
           
           param.add(new BasicNameValuePair("user", user.getText().toString()));
           param.add(new BasicNameValuePair("mail", mail.getText().toString()));

		   
		   /************************** Conexion HTTP utilizando el vector con la informacion *****************************/
		   
           try {
                httpPost.setEntity(new UrlEncodedFormEntity(param));  
                HttpResponse httpRespose = httpClient.execute(httpPost);  
               HttpEntity httpEntity = httpRespose.getEntity();  
               InputStream in = httpEntity.getContent();  
               BufferedReader read = new BufferedReader(new InputStreamReader(in));  
              
               String isi= "";  
               String baris= "";  
              
               while((baris = read.readLine())!=null){  
                  isi+= baris;  
               }

               if(!isi.equals("null")){
                  Toast.makeText(this, "Gracias, se cargó correctamente", Toast.LENGTH_LONG).show();
                  finish(); //Una vez que se carga, sale de la aplicacion.
                 
               }else{  
                  Toast.makeText(this, "Algo anduvo mal. Compruebe su conexion", Toast.LENGTH_LONG).show();  
               }  
              
         } 
   }
   

private void mostrarPosicion(Location loc) {
// Se asignan los valores para agregar a la base. En el fichero php está esperando: "lat", "long", "dir"

		param.add(new BasicNameValuePair("dire", direccion);

		// Transformo el bitmap en byte array
		
		ByteArrayOutputStream blob = new ByteArrayOutputStream();
		bitmap.compress(CompressFormat.PNG, 0 /*ignored for PNG*/, blob);
		byte[] bitmapdata = blob.toByteArray();

		
                param.addAll(new BasicNameValuePair("foto", bitmapdata));
                

	  		}
	     
   }

Tengo problema con:
param.addAll(new BasicNameValuePair("foto", bitmapdata));

Hay algun metodo para pasarlo de esta manera?


Muchas gracias!!!!!!!!!!!!!!!