Skip to content

Commit 1ef8808

Browse files
authored
Merge pull request #296 from JiazhenBao/main
downloadFile为空情况异常处理
2 parents 2883e4f + 863ef6e commit 1ef8808

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

httpclient/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<artifactId>httpclient</artifactId>
1717
<name>httpclient</name>
1818
<description>httpclient</description>
19-
<version>0.18.0</version>
19+
<version>0.18.1</version>
2020

2121
<dependencies>
2222
<dependency>

httpclient/src/main/java/com/netease/http/httpclient/HttpClientService.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,10 @@ public File downloadFile(RequestParamAllBodyTypeInner requestParam, RestTemplate
6363
ResponseEntity<byte[]> response = exchangeInner(requestParam, restTemplateFinal, byte[].class);
6464
if (response.getStatusCode() == HttpStatus.OK) {
6565
byte[] fileData = response.getBody();
66+
if (fileData == null) {
67+
logger.error(requestParam.getUrl()+"请求返回文件为空");
68+
return null;
69+
}
6670
List<String> resHeaders = response.getHeaders().get("Content-Disposition");
6771
if (StringUtils.isEmpty(fileName)) {
6872
fileName = System.currentTimeMillis() + ".xlsx";
@@ -90,7 +94,6 @@ public File downloadFile(RequestParamAllBodyTypeInner requestParam, RestTemplate
9094
}
9195
file = File.createTempFile(fileName, fileExt);
9296
try (FileOutputStream outputStream = new FileOutputStream(file)) {
93-
assert fileData != null;
9497
outputStream.write(fileData);
9598
}
9699
} catch (IOException e) {

httpclient/src/main/java/com/netease/http/httpclient/LCAPHttpClient.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,9 @@ public String downloadFileUploadNos(String fileUrl, String fileName, Map<String,
167167
requestParam.setHeader(header);
168168
requestParam.setHttpMethod(HttpMethod.GET.name());
169169
file = httpClientService.downloadFile(requestParam, restTemplate, fileName);
170+
if (file == null) {
171+
return null;
172+
}
170173
UploadResponseDTO uploadResponseDTO = httpClientFileUtils.uploadStream(Files.newInputStream(file.toPath()), file.getName());
171174
return uploadResponseDTO.result;
172175
} catch (HttpClientErrorException e) {
@@ -204,6 +207,9 @@ public String downloadFileUploadNosExtendHttpMethod(@Required String fileUrl, St
204207
requestParam.setHttpMethod(httpMethod);
205208
requestParam.setBody(JSONObject.parseObject(body));
206209
file = httpClientService.downloadFile(requestParam, restTemplate, fileName);
210+
if (file == null) {
211+
return null;
212+
}
207213
UploadResponseDTO uploadResponseDTO = httpClientFileUtils.uploadStream(httpClientFileUtils.repeatReadInputStream(file), file.getName());
208214
return uploadResponseDTO.result;
209215
} catch (HttpClientErrorException e) {
@@ -265,6 +271,9 @@ public String uploadNosExchangeCommonFileType(String fileUrl, String fileName, R
265271
//文件下载一般是get,默认get
266272
requestParamGetFile.setHttpMethod(HttpMethod.GET.name());
267273
file = httpClientService.downloadFile(requestParamGetFile, restTemplate, fileName);
274+
if (file == null) {
275+
return null;
276+
}
268277
RequestParamAllBodyTypeInner requestParamInner = new RequestParamAllBodyTypeInner();
269278
MultiValueMap<String, Object> body = new LinkedMultiValueMap<>();
270279
requestParam.getBody().forEach(body::add);

0 commit comments

Comments
 (0)