mirror of
				https://gitee.com/binary/weixin-java-tools.git
				synced 2025-11-01 03:25:35 +08:00 
			
		
		
		
	🎨 修复发送文件上传请求时Content-Type没有boundary的问题
This commit is contained in:
		 ChenJiaXin520
					ChenJiaXin520
				
			
				
					committed by
					
						 Binary Wang
						Binary Wang
					
				
			
			
				
	
			
			
			 Binary Wang
						Binary Wang
					
				
			
						parent
						
							2f5e8b988c
						
					
				
				
					commit
					17710af4de
				
			| @ -58,11 +58,7 @@ public class MaterialUploadApacheHttpRequestExecutor extends MaterialUploadReque | |||||||
|       multipartEntityBuilder.addPart("description", |       multipartEntityBuilder.addPart("description", | ||||||
|         new StringBody(WxGsonBuilder.create().toJson(form), ContentType.create("text/plain", Consts.UTF_8))); |         new StringBody(WxGsonBuilder.create().toJson(form), ContentType.create("text/plain", Consts.UTF_8))); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     httpPost.setEntity(multipartEntityBuilder.build()); |     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)) { |     try (CloseableHttpResponse response = requestHttp.getRequestHttpClient().execute(httpPost)) { | ||||||
|       String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response); |       String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response); | ||||||
|  | |||||||
| @ -47,7 +47,6 @@ public class MediaImgUploadApacheHttpRequestExecutor extends MediaImgUploadReque | |||||||
|       .setMode(HttpMultipartMode.RFC6532) |       .setMode(HttpMultipartMode.RFC6532) | ||||||
|       .build(); |       .build(); | ||||||
|     httpPost.setEntity(entity); |     httpPost.setEntity(entity); | ||||||
|     httpPost.setHeader("Content-Type", ContentType.MULTIPART_FORM_DATA.toString()); |  | ||||||
|  |  | ||||||
|     try (CloseableHttpResponse response = requestHttp.getRequestHttpClient().execute(httpPost)) { |     try (CloseableHttpResponse response = requestHttp.getRequestHttpClient().execute(httpPost)) { | ||||||
|       String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response); |       String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response); | ||||||
|  | |||||||
| @ -48,7 +48,6 @@ public class VoiceUploadApacheHttpRequestExecutor extends VoiceUploadRequestExec | |||||||
|       .setMode(HttpMultipartMode.RFC6532) |       .setMode(HttpMultipartMode.RFC6532) | ||||||
|       .build(); |       .build(); | ||||||
|     httpPost.setEntity(entity); |     httpPost.setEntity(entity); | ||||||
|     httpPost.setHeader("Content-Type", ContentType.MULTIPART_FORM_DATA.toString()); |  | ||||||
|  |  | ||||||
|     try (CloseableHttpResponse response = requestHttp.getRequestHttpClient().execute(httpPost)) { |     try (CloseableHttpResponse response = requestHttp.getRequestHttpClient().execute(httpPost)) { | ||||||
|       String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response); |       String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response); | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user