Android upload multi files to server via http post

前端 未结 1 698
無奈伤痛
無奈伤痛 2020-12-11 07:35

I need to upload file from Android client to an URL via HTTP POST. If upload just 1 file, than it is OK for me. but my target URL page code is looks like following

相关标签:
1条回答
  • 2020-12-11 08:09

    I tried following code and confirm that's workable solution:

    StringBuffer responseBody=new StringBuffer();
    
    Log.i(Constants.TAG, "Ready to upload file...");
    HttpClient client=new DefaultHttpClient();
    client.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
    
    Log.i(Constants.TAG, "Set remote URL...");
    HttpPost post=new HttpPost("http://IP.IP.IP.IP/file_upload.php");
    MultipartEntity entity=new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
    
    Log.i(Constants.TAG, "Adding file(s)...");
    entity.addPart("uploadedfile", new FileBody((FileObj), "application/zip"));
    entity.addPart("uploadedfile2", new FileBody((FileObj), "application/zip"));
    
    Log.i(Constants.TAG, "Set entity...");
    post.setEntity(entity);
    
    BufferedReader bs=null;
    try
    {
      Log.i(Constants.TAG, "Upload...");
      HttpEntity hEntity=client.execute(post).getEntity();
      bs=new BufferedReader(new InputStreamReader(hEntity.getContent()));
      Log.i(Constants.TAG, "Response length - "+hEntity.getContentLength());
      String s="";
      while(s!=null)
      {
        responseBody.append(s);
        s=bs.readLine();
        Log.i(Constants.TAG, "Response body - "+s);
      }
      bs.close();
    }
    catch(IOException ioe)
    {
      Log.i(Constants.TAG, "Error on getting response from Server, "+ioe.toString());
      ioe.printStackTrace();
      responseBody.append("...");
    }
    

    My platform is Android 2.2, and use this solution need to get httpmime.jar as project library.

    0 讨论(0)
提交回复
热议问题