2011-06-14 44 views
1

嗨我寫了一個代碼來將JSON對象從android手機傳輸到PHP服務器,如下所示。如果我想將文件傳輸到服務器,能否請您在我的代碼中建議我所需的更改。更改將文件從Android傳輸到一個PHP服務器

private String constructDataRecord(JSONObject data, String type) 
{ 
    JSONObject dataRecord = new JSONObject(); 
    try 
     { 
      dataRecord.put("date", timeStr); 
      dataRecord.put("time_stamp", c.getTimeInMillis()); 
      dataRecord.put("user", IMEI); 
      dataRecord.put("type", type); 
      dataRecord.put("ver", VER); 
      dataRecord.put("data", data); 
     } 
     catch (JSONException e) 
     { 
      Log.e(TAG, "Exception", e); 
     } 

     String url = "http://mpss.csce.uark.edu/~smandava/index.php"; 
     Map<String, String> kvPairs = new HashMap<String, String>(); 
     kvPairs.put("data", dataRecord.toString()); 
     Log.d(TAG, "Exception"); 
     HttpResponse re = null; 


     try { 
      re = doPost(url, kvPairs); 
      String temp = EntityUtils.toString(re.getEntity()); 
     } catch (ClientProtocolException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 


     // if (temp.compareTo("SUCCESS")==0) 
     { 
    //  Toast.makeText(this, "Sending complete!", Toast.LENGTH_LONG).show(); 
     } 

     return dataRecord.toString(); 
    } 


    public static HttpResponse doPost(String url, Map<String, String> kvPairs) throws ClientProtocolException, IOException 
    { 
     HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httppost = new HttpPost(url); 
     if (kvPairs != null && kvPairs.isEmpty() == false) 
     { 
      List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(kvPairs.size()); 
      String k, v; 
      Iterator<String> itKeys = kvPairs.keySet().iterator(); 
      while (itKeys.hasNext()) 
      { 
       k = itKeys.next(); 
       v = kvPairs.get(k); 
       nameValuePairs.add(new BasicNameValuePair(k, v)); 
      }    
      httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
     } 
     HttpResponse response; 
     response = httpclient.execute(httppost); 
     return response; 
    } 

回答

0

你可以看到這個here的一個例子。

相關問題