Android通过http post将多个文件上传到服务器
我需要通过HTTP POST将文件从Android客户端上传到URL。 如果只上传一个文件,那么对我来说就可以了。但我的目标URL页面代码如下所示Android通过http post将多个文件上传到服务器,android,http,post,Android,Http,Post,我需要通过HTTP POST将文件从Android客户端上传到URL。 如果只上传一个文件,那么对我来说就可以了。但我的目标URL页面代码如下所示 如何通过HTTP POST同时上传两个以上的文件?我尝试了以下代码并确认这是可行的解决方案: StringBuffer responseBody=new StringBuffer(); Log.i(Constants.TAG, "Ready to upload file..."); HttpClient client=new DefaultHt
如何通过HTTP POST同时上传两个以上的文件?我尝试了以下代码并确认这是可行的解决方案:
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("...");
}
我的平台是Android 2.2,使用此解决方案需要获取httpime.jar作为项目库。如果需要在请求中添加任何参数,请添加MultiPartEntity对象,例如
MultiPartEntity.addPart(“testpara”),new StringBody(“value”)