RemoteUploadUtil.java 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package cn.hhj.util;
  2. import org.apache.http.HttpEntity;
  3. import org.apache.http.HttpResponse;
  4. import org.apache.http.auth.AuthScope;
  5. import org.apache.http.auth.Credentials;
  6. import org.apache.http.auth.UsernamePasswordCredentials;
  7. import org.apache.http.client.CredentialsProvider;
  8. import org.apache.http.client.methods.HttpPost;
  9. import org.apache.http.client.protocol.HttpClientContext;
  10. import org.apache.http.entity.ContentType;
  11. import org.apache.http.entity.mime.MultipartEntityBuilder;
  12. import org.apache.http.impl.client.BasicCredentialsProvider;
  13. import org.apache.http.impl.client.CloseableHttpClient;
  14. import org.apache.http.impl.client.HttpClients;
  15. import org.apache.http.util.EntityUtils;
  16. import org.springframework.web.multipart.MultipartFile;
  17. import java.nio.charset.Charset;
  18. public class RemoteUploadUtil {
  19. public static String remoteupload(MultipartFile photo, String UPLOAD_URL) throws Exception {
  20. if (photo != null) {
  21. //创建一个httpClient对象
  22. CloseableHttpClient httpClient = HttpClients.createDefault();
  23. // 创建Http处理操作的上下文对象
  24. HttpClientContext httpContext = HttpClientContext.create();
  25. // 设置认证的提供信息
  26. // httpContext.setCredentialsProvider(credsProvider);
  27. // 设置要进行访问的请求地址
  28. HttpPost httpPost = new HttpPost(UPLOAD_URL);
  29. HttpEntity entity = MultipartEntityBuilder.create()
  30. .addBinaryBody("photo", photo.getBytes(),
  31. ContentType.create("image/jpeg"), "temp.jpg").build();
  32. // 设置要发送的实体内容
  33. httpPost.setEntity(entity);
  34. // 执行请求的发送
  35. HttpResponse response = httpClient.execute(httpPost, httpContext);
  36. //取得返回的内容
  37. return EntityUtils.toString(response.getEntity(), Charset.forName("UTF-8"));
  38. }
  39. return "error.jpg";
  40. }
  41. public String remoteupload(String username, String password, MultipartFile photo, String UPLOAD_URL) throws Exception {
  42. if (photo != null) {
  43. //创建一个httpClient对象
  44. CloseableHttpClient httpClient = HttpClients.createDefault();
  45. //创建一个具有认证访问的信息
  46. CredentialsProvider credsProvider = new BasicCredentialsProvider();
  47. // 创建一条认证操作信息
  48. Credentials credentials = new UsernamePasswordCredentials("QingSe", "hello");
  49. // 现在所有的认证请求都使用一个认证信息
  50. credsProvider.setCredentials(AuthScope.ANY, credentials);
  51. // 创建Http处理操作的上下文对象
  52. HttpClientContext httpContext = HttpClientContext.create();
  53. // 设置认证的提供信息
  54. httpContext.setCredentialsProvider(credsProvider);
  55. // 设置要进行访问的请求地址
  56. HttpPost httpPost = new HttpPost(UPLOAD_URL);
  57. HttpEntity entity = MultipartEntityBuilder.create()
  58. .addBinaryBody("photo", photo.getBytes(),
  59. ContentType.create("image/jpeg"), "temp.jpg").build();
  60. // 设置要发送的实体内容
  61. httpPost.setEntity(entity);
  62. // 执行请求的发送
  63. HttpResponse response = httpClient.execute(httpPost, httpContext);
  64. //取得返回的内容
  65. return EntityUtils.toString(response.getEntity(), Charset.forName("UTF-8"));
  66. }
  67. return "error.jpg";
  68. }
  69. }