繁体   English   中英

如何使用http客户端处理多部分请求

[英]how to handle multipart request using http client

以下是我使用httpclient处理Multipart代码

if(methodParams.getDataType().length()>0 && methodParams.getDataType().equals("org.springframework.web.multipart.MultipartFile")){
                isMultipart = true; 
                MultipartEntity entity = new MultipartEntity( HttpMultipartMode.BROWSER_COMPATIBLE );
                // For usual String parameters
                entity.addPart( methodParams.getVariableDefined(), new StringBody("".toString() , "text/plain", Charset.forName( "UTF-8" )));
                postURL.setEntity( entity );
             }

但我得到以下异常:

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.james.mime4j.util.CharsetUtil.getCharset(Ljava/lang/String;)Ljava/nio/charset/Charset;
    at org.apache.http.entity.mime.MIME.<clinit>(MIME.java:51)
    at org.apache.http.entity.mime.HttpMultipart.<clinit>(HttpMultipart.java:85)
    at org.apache.http.entity.mime.MultipartEntity.<init>(MultipartEntity.java:77)
    at org.apache.http.entity.mime.MultipartEntity.<init>(MultipartEntity.java:96)
    at com.hexgen.tools.HexgenClassUtils.doPOST(HexgenClassUtils.java:151)
    at com.hexgen.reflection.HttpClientRequests.handleHTTPRequest(HttpClientRequests.java:74)
    at com.hexgen.reflection.HexgenWebAPITest.main(HexgenWebAPITest.java:115)

编辑:

以下是我使用的依赖

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpmime</artifactId>
    <version>4.0.1</version>
</dependency>
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.0.1</version>
</dependency>

如何解决这个问题。

您可以再看一次 依赖项 ,也许您错过了一些jars。

您还可以将旧的jar替换为httpclient的较新版本以及httpmime 自版本4.1开始, httpclient不再依赖james mime4j。

您还可能最终使用maven管理依赖项。 以防万一,如果您不使用它。

编辑:

您可以添加以下内容

<dependency>
    <groupId>org.apache.james</groupId>
    <artifactId>apache-mime4j</artifactId>
    <version>0.6</version>
</dependency>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM