Skip to content

Commit 13d76c1

Browse files
committed
修复重构素材上传处理代码
1 parent bc22b03 commit 13d76c1

File tree

1 file changed

+20
-16
lines changed

1 file changed

+20
-16
lines changed

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/MaterialUploadRequestExecutor.java

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -30,22 +30,26 @@ public WxMpMaterialUploadResult execute(CloseableHttpClient httpclient, HttpHost
3030
httpPost.setConfig(response);
3131
}
3232

33-
if (material != null) {
34-
File file = material.getFile();
35-
if (file == null || !file.exists()) {
36-
throw new FileNotFoundException();
37-
}
38-
MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create();
39-
multipartEntityBuilder
40-
.addBinaryBody("media", file)
41-
.setMode(HttpMultipartMode.RFC6532);
42-
Map<String, String> form = material.getForm();
43-
if (material.getForm() != null) {
44-
multipartEntityBuilder.addTextBody("description", WxGsonBuilder.create().toJson(form));
45-
}
46-
httpPost.setEntity(multipartEntityBuilder.build());
47-
httpPost.setHeader("Content-Type", ContentType.MULTIPART_FORM_DATA.toString());
33+
if (material == null) {
34+
throw new WxErrorException(WxError.newBuilder().setErrorMsg("非法请求,material参数为空").build());
35+
}
36+
37+
File file = material.getFile();
38+
if (file == null || !file.exists()) {
39+
throw new FileNotFoundException();
40+
}
41+
42+
MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create();
43+
multipartEntityBuilder
44+
.addBinaryBody("media", file)
45+
.setMode(HttpMultipartMode.RFC6532);
46+
Map<String, String> form = material.getForm();
47+
if (material.getForm() != null) {
48+
multipartEntityBuilder.addTextBody("description", WxGsonBuilder.create().toJson(form));
4849
}
50+
51+
httpPost.setEntity(multipartEntityBuilder.build());
52+
httpPost.setHeader("Content-Type", ContentType.MULTIPART_FORM_DATA.toString());
4953

5054
try (CloseableHttpResponse response = httpclient.execute(httpPost)) {
5155
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
@@ -55,7 +59,7 @@ public WxMpMaterialUploadResult execute(CloseableHttpClient httpclient, HttpHost
5559
} else {
5660
return WxMpMaterialUploadResult.fromJson(responseContent);
5761
}
58-
}finally {
62+
} finally {
5963
httpPost.releaseConnection();
6064
}
6165
}

0 commit comments

Comments
 (0)