`

httpClient 上传附件

    博客分类:
  • java
 
阅读更多

import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

import java.io.File;

/**
 * Example how to use multipart/form encoded POST request.
 */
public class ClientMultipartFormPost {

    private static String url = "https://api.faceid.com/faceid/v1/ocridcard";
    private static String key="YOukgjod8PDzHknzTa_28jBMD2cg9lMS";
    private static String secret="m9Mh-KPP9zRLy76AofcV3L_sRfypOFoi";

    private static String filePath="D:\\yylcard.png";

    public static void main(String[] args) throws Exception {

        CloseableHttpClient httpclient = HttpClients.createDefault();
        try {
            HttpPost httppost = new HttpPost(url);


            HttpEntity reqEntity = MultipartEntityBuilder.create()
                    .addBinaryBody("image",new File(filePath))
                  .addTextBody("api_key",key)
                  .addTextBody("api_secret",secret)
                    .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());
                }
                String result = EntityUtils.toString(resEntity);
                System.out.println(">>>>>>>>>result="+result);
                EntityUtils.consume(resEntity);
            } finally {
                response.close();
            }
        } finally {
            httpclient.close();
        }
    }

}
分享到:
评论

相关推荐

    httpClient上传文件,参数,json对象,以及接收方法

    花了大半天写的测试类,用的时候记得改下引用的包名,可以当util工具类用,其他说明见博客 ...流方式发送接收: ...觉得可以的话,又不想复制粘贴,就花点积分下载吧,o(* ̄︶ ̄*)o

    .net core3.1 WebAPI使用HttpClient为企业微信上传临时素材

    asp.net core3.1 webAPI对接企业微信上传临时素材,返回media_id. 来自于实际项目;

    HttpClient PostMethod 上传文件

    在本示例中,我们将深入探讨如何使用HttpClient的PostMethod来上传文件,以及处理Get和Post请求中的乱码问题。 一、HttpClient基础 HttpClient库提供了一套完整的API,允许我们构建复杂的HTTP请求。它支持GET、POST...

    HttpClientHelper 工具类

    HttpClientHelper 对这个类进行了封装,使得开发者无需直接与HttpClient接口打交道,而是通过更简洁、易用的方法调用来实现网络通信。这提高了代码的可读性和可维护性。 单例模式是软件设计模式的一种,确保一个类...

    .NET Core使用HttpClient进行表单提交时遇到的问题

    在开发微信支付的小微商户进件接口时,需要通过表单来上传身份证图片等数据。在微信支付接口文档也说明了,需要使用 multipart/form-data 的方式发送请求。.NET 提供了 MultipartFormDataContent 类型,帮助我们构建...

    upload实现多附件上传

    在Java开发中,上传多附件是一项常见的功能,特别是在构建Web应用程序时。`upload`通常指的是文件上传的过程,这里我们讨论的是使用Java实现多文件上传。本文将深入探讨如何利用Java来处理这一需求,并提供相关知识...

    C#模仿http请求到服务器端 上传附件

    本教程将深入讲解如何使用C#来模仿HTTP请求,特别是针对上传附件这一应用场景。 首先,你需要了解HTTP请求的基本结构。一个HTTP请求通常包括以下几个部分:请求行、请求头、空行以及可选的请求体。在上传附件的情况...

    Android Multipart实现多附件上传

    在Android的HttpClient实现中,不能使用Multipart实现多附件上传的功能。这里,实现了一个自定义的Multipart,用它可实现多附件上传。同时给出了Android端和服务端的例子代码。

    Android 使用HttpClient和第三方MiME文件上传类库,实现文件上传带进度条

    本教程将详细讲解如何利用HttpClient以及第三方MiME(Multipurpose Internet Mail Extensions)文件上传类库,在Android平台上实现文件上传并同时显示进度条。由于HttpClient已经在Android 6.0(API级别23)中被弃用...

    ajax大附件上传,可以看到上传进度

    具体到ASP.NET的实现,我们可能需要用到`HttpPostedFileBase`类来处理上传的文件,`System.IO`命名空间中的`FileStream`和`MemoryStream`来处理文件流,以及`WebClient`或`HttpClient`类进行异步上传操作。...

    httpclient所需JAR包

    在上传或下载包含多部分数据(如图片、文件等)的HTTP请求时,这个库非常有用。例如,它允许你在POST请求中附加文件,或者在处理包含附件的HTTP响应。 总结起来,这些JAR包组合在一起,为Java开发者提供了一个完整...

    httpclient4.3.4

    它提供了MIME类型的解析和构建功能,使得HttpClient能够处理包含多媒体内容的HTTP请求,例如发送带有附件的电子邮件或者上传图片等。 总的来说,HttpClient 4.3.4及其相关组件构成了一个完整的HTTP客户端解决方案,...

    HttpAsyncClient 异步httpClient和同步httpClient连接池的工具类 包含jar

    HttpAsyncClient连接池的使用,项目中频繁发送http请求,同步http阻塞主线程,影响性能,使用 HttpAsyncClient可使性能提高,这里配合连接池使用,效果更好,同时还附带同步httpClient的连接池使用

    泛微E9获取附件内容,泛微Ecology9获取附件范例,Ecology9附件、E9附件下载,并发送邮件到邮箱JAVA.zip

    1. 使用HttpClient与Web API交互,获取附件内容。 2. 身份验证和授权,包括设置请求头和处理认证信息。 3. 文件流操作,如保存附件到本地或处理内存中的数据。 4. System.Net.Mail命名空间下的邮件发送功能,包括...

    安卓httpclient用到的两个包

    1. **文件上传**:通过`MultipartEntity`构建包含文件的POST请求,可以将本地文件上传到服务器。 2. **多部分表单数据**:在注册或登录等表单提交场景中,如果表单包含文件字段,`httpmime`能处理这些数据。 3. **...

    解决HttpClient中文乱码问题jar文件

    8. **使用HttpClientBuilder**:在HttpClient 4.3及以上版本中,推荐使用`HttpClientBuilder`构建HttpClient实例,这样可以更方便地设置各种参数,包括字符编码。 了解并应用以上知识点,可以帮助你有效地解决...

    winform & wpf _上传_下载文件_常用类 _服务器_C#_调用cmd

    在实际开发中,为了提高程序的稳定性和用户体验,通常会使用更高级的API如`System.Net.WebClient`或`System.Net.HttpClient`来实现文件的上传和下载,它们提供了异步操作支持,可以更方便地处理进度反馈和错误处理。...

    httpclient需要的jar包

    3. **httpmime**: 如果你需要在HTTP请求中发送或接收MIME类型的附件,如文件上传,那么`httpmime.jar`是必需的。它提供了附加的类来处理MIME相关的任务。 4. **httpasyncclient**: 如果你的应用需要异步执行HTTP...

    java Swing 文件批量上传 DEMO 源代码

    Apache HttpClient 是一个强大的HTTP客户端库,可以方便地执行POST请求,将文件数据上传到服务器。开发者需要设置合适的请求头,如Content-Type指定文件类型,然后使用HttpPost对象的setEntity方法设置请求实体,...

    android文件上传控件

    文件上传通常涉及到网络请求,Android提供了多种方式来实现,如使用HttpURLConnection、HttpClient(已废弃)或第三方库如Volley、OkHttp等。以OkHttp为例,它是一个高效的HTTP客户端,支持异步和同步请求。创建一个...

Global site tag (gtag.js) - Google Analytics