🎨 修复发送文件上传请求时Content-Type没有boundary的问题

This commit is contained in:
ChenJiaXin520
2024-06-05 16:08:10 +08:00
committed by Binary Wang
parent 2f5e8b988c
commit 17710af4de
3 changed files with 0 additions and 6 deletions
@@ -58,11 +58,7 @@ public class MaterialUploadApacheHttpRequestExecutor extends MaterialUploadReque
multipartEntityBuilder.addPart("description",
new StringBody(WxGsonBuilder.create().toJson(form), ContentType.create("text/plain", Consts.UTF_8)));
}
httpPost.setEntity(multipartEntityBuilder.build());
//手动设置的Content-Type请求头没有boundary,是一个非标准的文件上传请求头,虽然微信提供了对这类非标准请求的支持,但如果请求需要先经过我们的tomcat server,那么都会报错:the request was rejected because no multipart boundary was found
//不设置Content-Type请求头,httpclient将会自动设置,值为entity的getContentType方法返回值。MultipartEntityBuilder的getContentType方法将会返回boundary
//httpPost.setHeader("Content-Type", ContentType.MULTIPART_FORM_DATA.toString());
try (CloseableHttpResponse response = requestHttp.getRequestHttpClient().execute(httpPost)) {
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
@@ -47,7 +47,6 @@ public class MediaImgUploadApacheHttpRequestExecutor extends MediaImgUploadReque
.setMode(HttpMultipartMode.RFC6532)
.build();
httpPost.setEntity(entity);
httpPost.setHeader("Content-Type", ContentType.MULTIPART_FORM_DATA.toString());
try (CloseableHttpResponse response = requestHttp.getRequestHttpClient().execute(httpPost)) {
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
@@ -48,7 +48,6 @@ public class VoiceUploadApacheHttpRequestExecutor extends VoiceUploadRequestExec
.setMode(HttpMultipartMode.RFC6532)
.build();
httpPost.setEntity(entity);
httpPost.setHeader("Content-Type", ContentType.MULTIPART_FORM_DATA.toString());
try (CloseableHttpResponse response = requestHttp.getRequestHttpClient().execute(httpPost)) {
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);