String[] split = fileKeys.split(",");
CloseableHttpClient client = HttpClients.createDefault();
List<MultipartFile> fileList = new ArrayList<>();
通过附件id循环获取文件
for (String fileKey : split) {
//判断是否为空
if (StringUtils.isNotBlank(fileKey)){
//请求路径
String fileUrl = "http://localhoost:8080/ltcFile/download/"+fileKey;
CloseableHttpResponse fileResponse = null;
HttpGet httpGet = new HttpGet(fileUrl);
// 获取header中文件类型
String fileName = "";int x=0;
try {
fileResponse = client.execute(httpGet);
if (fileResponse.getStatusLine().getStatusCode() == 200) {
Header[] headers = fileResponse.getAllHeaders();
String value = headers[x].getValue();
System.out.println(value);
fileName=value;
HttpEntity fileEntity = fileResponse.getEntity();
InputStream inputStream = fileEntity.getContent();
MultipartFile multipartFile = new MockMultipartFile
(URLDecoder.decode(fileName, "UTF-8"),URLDecoder.decode(fileName, "UTF-8"),
ContentType.APPLICATION_OCTET_STREAM.toString(),inputStream);
fileList.add(multipartFile);
logger.info(multipartFile.getOriginalFilename());
inputStream.close();
}
} catch (IOException e) {
logger.error(e.getMessage());
}finally {
try {
fileResponse.close();
} catch (IOException e) {
logger.error(e.getMessage());
}
}
}
}
如何利用JAVA获取文件流并转换为文件格式存储
于 2023-09-14 15:51:59 首次发布