2010-12-09 44 views

Répondre

0

Utilisez un HttpClient de se connecter à votre serveur Web du client. Je l'ai fait comme ça pour se connecter à un service PHP:

/** 
* Transmits a file from the local filesystem to a web-server 
* @param fileName the local file to transmit 
* @param params the remote parameters for the php script 
* @return the server response as a String 
*/ 
public String httpUploadFile(String fileName, String params) { 
    if(fileName==null) { 
     return "ERROR file is null"; 
    } else { 
     DDLog.i(TAG, "Initiating httpUpload for file "+fileName); 
     HttpClient httpClient = new DefaultHttpClient(); 
     httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, new Integer(300000)); // 300 seconds -> 5 min 
     httpClient.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1); 

     String url = this.baseURL + "?" + params; 
     HttpPost httpPost = new HttpPost(url); 

     MultipartEntity mpEntity = new MultipartEntity(); 
     File file = new File(fileName); 
     double fileBytes = file.length(); 
     DecimalFormat decimalFormat = new DecimalFormat("0.000"); 
     Log.i(TAG, "httpUpload file: "+fileName+" with "+file.length()+" bytes; "+decimalFormat.format(fileBytes/1024)+" kb; "+decimalFormat.format(fileBytes/1048576)+" mb"); 

     FileBody bodyFile = new FileBody(file); 
     mpEntity.addPart("pic", bodyFile); 

     httpPost.setEntity(mpEntity); 

     HttpResponse httpResponse = null; 
     HttpEntity responseEntity = null; 
     String response = ""; 
     try { 
      httpResponse = httpClient.execute(httpPost); 
      responseEntity = httpResponse.getEntity(); 
      response = EntityUtils.toString(responseEntity); 

     } catch (SocketException e) { 
      e.printStackTrace(); 
      DDLog.e(TAG, e.getMessage(), e); 
      response = "SOCKET EXCEPTION " + e.getMessage(); 

     } catch (SocketTimeoutException e) { 
      e.printStackTrace(); 
      DDLog.e(TAG, e.getMessage(), e); 
      response = "SOCKET TIMEOUT"; 

     } catch (ClientProtocolException e) { 
      e.printStackTrace(); 
      DDLog.e(TAG, e.getMessage(), e); 
     } catch (IOException e) { 
      e.printStackTrace(); 
      DDLog.e(TAG, e.getMessage(), e); 
     } 

     DDLog.i(TAG, "HttpResponse: "+response); 

     return response; 
    } 
} 

Mais vous devriez vraiment donner un peu plus d'informations sur la façon dont vous allez le faire, par exemple Quelle technologie utilisez-vous sur votre serveur Web

+0

j'utilise jsp concept – ragu

+0

désolé, ne peut pas vous aider avec ça – stfn

0

Vous devez envoyer les données en tant que flux de sortie dans l'application android et les lire dans une servlet en tant que flux d'entrée de l'objet de requête.