调用第三方接口到三种方式
链接
Hutool
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.4</version>
</dependency>
@RequestMapping("/")
public String upload(MultipartFile file){
String result = "",
try{
InputStreamResource isr = new InputStreamResource(file.getInputStream(),
file.getOriginalFilename());
Map<String,Object> params = new HashMap<>();
params.put("file",isr);
params.put("path","234234");
params.put("output","json");
String resp = HttpUtil.post(url,params);
Console.log("resp: { }",resp);
result = resp;
}catch(IOException e){
e.printStackTrace();
}
return result;
}
HttpClient
@PostMapping("/")
public String getOrder(@Value("$system.fileUpload") String url) throws IOException{
HttpClient httpClient = new HttpClient();
Charset charset = Charset.forName("UTF-8");
HttpPost httpPost = new HttpPost(url);
MutipartEntity reqEntity = new MutipartEntity();
File myfile = new File("\\xx\xx\x.jpg");
FileBody fileContent = new FileBody(myfile);
reqEntity.addPart("myfile",fileContent);
StringBody content = new StringBody("sss.jpg", charset);
reqEntity.addPart("token", contenttoken);
httppost.setEntity(reqEntity);
HtttpResponse reponse = httpClient.execute(httppost);
HttpEntity resEntity = response.getEntity();
String resString = EntityUtils.toString(resEntity);
return resString;
}
OkHttp3
@RequestMapping("/")
public String upload2(MutipartFile file){
String result = "";
try{
OkHttpClient httpClient = new OkHttpClient.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("file", file.getOriginalFilename(),
RequestBody.create(MediaType.parse("multipart/form-data;chaeset=utf-8"),
file.getBytes()))
.addFormDataPart("output", "json")
.build();
Request request = new Request.Builder()
.url(UPLOAD_PATH)
.post(multipartBody)
.build();
Response response = httpClient.newCall(request).execute();
if(response.isSuccessful()){
ResponseBody body = response.body;
if(body != null){
result = body.String();
sout(result);
}
}
}catch(Exception e){
e.printStackTrace();
}
return result;
}