本项目使用maven管理,所有引入的jar
<!-- http包 -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
</dependency>
<!-- http包 -->
核心封装代码
url: 上传文件的接口地址
MultipartFile[] files 文件对象
public static String floorSSOHttpFile(String url, MultipartFile[] files,String username) throws IOException{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
MultipartEntityBuilder entity = MultipartEntityBuilder.create();
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
for(MultipartFile f : files){
String fileName = f.getOriginalFilename();
entity.addBinaryBody("files", f.getInputStream(), ContentType.MULTIPART_FORM_DATA, fileName);
}
//封装需要的参数
entity.addTextBody("user", username);
entity.addTextBody("type", "PC");
entity.addTextBody("datetime",sdf.format(new Date()));
entity.addTextBody("project","Masoct");
//entity.addTextBody("name",name);
String result = null;
httpPost.setEntity(entity.build());
HttpResponse httpResponse = httpClient.execute(httpPost);
int code = httpResponse.getStatusLine().getStatusCode();
if(code == 200){
String returnStr = EntityUtils.toString(httpResponse.getEntity(),HTTP.UTF_8);
JSONObject jsonObject = JSONObject.fromObject(returnStr);
//System.out.println(jsonObject.get("url"));
return (String) jsonObject.get("url");
}else
System.out.println(EntityUtils.toString(httpResponse.getEntity()));
return result;
}