HttpSendFile.java 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package com.happy.common.util;
  2. import java.io.File;
  3. import java.io.IOException;
  4. import java.nio.charset.Charset;
  5. import java.util.HashMap;
  6. import java.util.Map;
  7. import org.apache.http.HttpEntity;
  8. import org.apache.http.HttpResponse;
  9. import org.apache.http.client.methods.HttpPost;
  10. import org.apache.http.entity.ContentType;
  11. import org.apache.http.entity.mime.MultipartEntityBuilder;
  12. import org.apache.http.entity.mime.content.FileBody;
  13. import org.apache.http.entity.mime.content.StringBody;
  14. import org.apache.http.impl.client.CloseableHttpClient;
  15. import org.apache.http.impl.client.HttpClients;
  16. import org.apache.http.util.EntityUtils;
  17. /**
  18. * 调用跨网文件发送接口
  19. * @author tingh
  20. *
  21. */
  22. public class HttpSendFile {
  23. private static final Charset CHARSET_UTF8 = Charset.forName("UTF-8");
  24. /**
  25. * 调用文件发送接口
  26. * @param file
  27. * @param
  28. * @param remote_url
  29. * @return
  30. */
  31. public static Map<String, Object> call_sendFile(File file,String FileName,String remote_url){
  32. CloseableHttpClient httpclient = HttpClients.createDefault();
  33. Map<String, Object> responseMap = new HashMap<>();
  34. String result = "";
  35. try{
  36. HttpPost httpPost = new HttpPost(remote_url);
  37. //创建接口需要的参数
  38. MultipartEntityBuilder entityBuilder = MultipartEntityBuilder.create();
  39. entityBuilder.addPart("myFile", new FileBody(file));
  40. entityBuilder.addPart("myFileFileName", new StringBody(FileName));
  41. HttpEntity entity = entityBuilder.build();
  42. httpPost.setEntity(entity);
  43. //调用跨网文件发送接口
  44. HttpResponse response = httpclient.execute(httpPost);
  45. //获取响应信息
  46. HttpEntity responseEntity = response.getEntity();
  47. if(responseEntity != null){
  48. result = EntityUtils.toString(responseEntity, CHARSET_UTF8);
  49. System.out.println(result);
  50. }
  51. responseMap.put("code", response.getStatusLine().getStatusCode());
  52. responseMap.put("result", result);
  53. } catch (IOException e){
  54. e.printStackTrace();
  55. } catch (Exception e){
  56. e.printStackTrace();
  57. } finally {
  58. try {
  59. httpclient.close();
  60. } catch (Exception e){
  61. e.printStackTrace();
  62. }
  63. }
  64. return responseMap;
  65. }
  66. public static void main(String[] args) {
  67. File file = new File("F://1.jpg");
  68. call_sendFile(file,"1111.jpg","http://localhost:8088/fileload/loadhimage.action");
  69. }
  70. }