转载自哪我忘了。使用过程中有些地方需要改动,也有些小地方不注意就很坑。
我前端要求的表单格式为
< 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;
}