HttpClient如何进行文件上传呢?

java 文章 2022-07-23 16:00 1943 0 全屏看文

AI助手支持GPT4.0

转自:

http://www.java265.com/JavaCourse/202204/2938.html

HttpClient是一个java语言编写的包,

我们使用HttpClient可以非常方便的发送Http请求

它使基于Http协议请求内容变得非常简单

HttpClient是Apache Jakarta Common下的子项目 它里面封装了很多使用http协议访问的工具,可用于高效访问http


下文笔者讲述基于HttpClient Utils工具类编写一个文件上传的示例分享,如下所示:

HttpClient Utils进行表单进行文件上传的示例分享,如下所示
实现思路:
    1.获取连接
	2.声明一个HttpPost
	3.创建上传体FileBody
	4.定义一个HttpEntity传送文件
	5.execute执行上传操作
	6.获取返回信息
	7.关闭连接
/** 
     * 上传文件 
     */   
    public void upload() {   
        CloseableHttpClient httpclient = HttpClients.createDefault();   
        try {   
            HttpPost httppost = new HttpPost("http://java265.com/uploadFile");   
     
            FileBody bin = new FileBody(new File("F:\image\sendpix0.jpg"));   
            StringBody comment = new StringBody("A binary file of some kind", ContentType.TEXT_PLAIN);   
     
            HttpEntity reqEntity = MultipartEntityBuilder.create().addPart("bin", bin).addPart("comment", comment).build();   
     
            httppost.setEntity(reqEntity);   
     
            System.out.println("executing request " + httppost.getRequestLine());   
            CloseableHttpResponse response = httpclient.execute(httppost);   
            try {   
   System.out.println("----------------------------------------");   
   System.out.println(response.getStatusLine());   
   HttpEntity resEntity = response.getEntity();   
   if (resEntity != null) {   
       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();   
            }   
        }   
    }
-EOF-

AI助手支持GPT4.0


国内超级便宜服务器

摸鱼人热门新闻聚合

钻级赞助商 我要加入

开发者在线工具

第三方支付技术请加QQ群

相关文章
错误代码 self-invoke-forbidden 错误原因: 此用户不允许自调用
应用启动加速-并发初始化spring bean
java调用微信服务号API,根据openid发送消息的代码。
SpringBoot中Tomcat和SpringMVC整合源码分析
Java的Lambda的代码,用最少最短的代码量实现冒泡排序
随便看看
小程序测试号解绑之后,扫一扫小程序登录又回来了 2036
微信公众号openid? 2279
微信开放平台跟公众平台有什么区别? 3520
怎么添加小程序支付功能? 4314
教育科技公司申请微信支付被拒绝? 4697
微信公众号免300认证教程 5778
小程序已经上线,作为管理员无法在小程序数据助手查看数据? 5190
小程序广告组件通过审核,但是小程序内没有显示广告? 4965
企业微信通讯录账号被管理员误/恶意删除,怎么办? 9393
问题? 8913