欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java httpClient上传图片

程序员文章站 2024-02-19 11:10:28
...

使用httpClient 模拟post请求上传图片:

public class HttpFileUpload {
	//url:请求路经
	//filePath:需要上传的文件路径
	public static JSONObject fileUpload(String url,String filePath){
		 CloseableHttpClient httpclient = HttpClients.createDefault(); 
       //CloseableHttpClient httpclient = HttpClientBuilder.create().build();
       try { 
           HttpPost httppost = new HttpPost(url); 
  
           RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(200000).setSocketTimeout(200000).build();
           httppost.setConfig(requestConfig);
            
           FileBody bin = new FileBody(new File(filePath)); 
           StringBody comment = new StringBody("This is comment", ContentType.TEXT_PLAIN); 
  
           HttpEntity reqEntity = MultipartEntityBuilder.create().addPart("file", bin).addPart("comment", comment).build(); 
  
           httppost.setEntity(reqEntity); 
  
           System.out.println("executing request " + httppost.getRequestLine()); 
           CloseableHttpResponse response = httpclient.execute(httppost); 
           try { 
               System.out.println(response.getStatusLine()); 
               HttpEntity resEntity = response.getEntity(); 
               if (resEntity != null) { 
                   String responseEntityStr = EntityUtils.toString(response.getEntity());
                   System.out.println(responseEntityStr);
                   System.out.println("Response content length: " + resEntity.getContentLength()); 
               } 
               EntityUtils.consume(resEntity); 
           } finally { 
               response.close(); 
           } 
       } catch (ClientProtocolException e) { 
           e.printStackTrace(); 
       } catch (IOException e) { 
           e.printStackTrace(); 
       } finally { 
           try { 
               httpclient.close(); 
           } catch (IOException e) { 
               e.printStackTrace(); 
           } 
       } 
	}


}