通过HttpClient 以POST方式上传多个文件

转载自哪我忘了。使用过程中有些地方需要改动,也有些小地方不注意就很坑。
我前端要求的表单格式为
< input type=“file” name=“file” />
< input type=“file” name=“file” />
//可上传多个配置文件

	@SuppressWarnings("finally")
	public static String sendFilesPost(String url, String[] fileNames) {
		   HttpClient httpClient = null;
		   HttpPost httpPost;
		   String result = null;
		   try {
		      httpClient = new DefaultHttpClient();
		      httpPost = new HttpPost(url);

		      String[] filenames=fileNames;
		      MultipartEntity reqEntity = new MultipartEntity();
		      for(int i=0;i<filenames.length;i++) {
		               String fileName=filenames[i];
		               FileBody file = new FileBody(new File(fileName));

		               reqEntity.addPart("file", file);// 此处的file为表格里对应的inputtype格式

		       }
		      httpPost.setEntity(reqEntity);
		      HttpResponse response = httpClient.execute(httpPost);
		      if (null != response && response.getStatusLine().getStatusCode() == 200) {
		         HttpEntity resEntity = response.getEntity();
		         if (null != resEntity) {
		            result = EntityUtils.toString(resEntity, HTTP.UTF_8);
		            System.out.println(result);
		         }
		      }
		   } catch (UnsupportedEncodingException e) {
		      e.printStackTrace();
		   } catch (ClientProtocolException e) {
		      e.printStackTrace();
		   } catch (IOException e) {
		      e.printStackTrace();
		   } catch (Exception e) {
		      e.printStackTrace();
		   } finally {
		      // 关闭连接,释放资源
		      httpClient.getConnectionManager().shutdown();
		   }
		   return result;
		}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值