RestTemplateを使用してローカルファイルをサーバにアップロード
2381 ワード
詳細
/**
*
*
* @param region
* @param userId id
* @param targetFolderUuid id
* @param filePath
* @return
*/
public static String uploadFileToFileSystem(String region, String userId, String targetFolderUuid, String filePath) {
FileSystemResource resource = new FileSystemResource(filePath);
if (!resource.exists() || Strings.isNullOrEmpty(targetFolderUuid)) {
return null;
}
MultiValueMap param = new LinkedMultiValueMap<>();
param.add("file", resource);
param.add("userId", userId);
param.add("targetFolderUuid", targetFolderUuid);
try {
String fileServerIp = getFileServerIp(region);
ResponseEntity responseEntity = innerTokenAccess(HttpMethod.POST, fileServerIp + UPLOAD_URL, param, MediaType.MULTIPART_FORM_DATA);
JSONObject jsonObject = JSONObject.fromObject(responseEntity.getBody());
return jsonObject.getString("fileUuid");
} catch (Exception e) {
LOG.info(" :{}", e.getMessage());
}
return null;
}
/**
* RestTemplate
*
* @param method POST or GET OR ...
* @param url url
* @param obj
* @param mediaType
* @return
* @throws Exception
*/
public static ResponseEntity innerTokenAccess(HttpMethod method, String url, Object obj, MediaType mediaType) throws Exception {
LOG.info(" :" + url);
RestTemplate restTemplate = new RestTemplate();
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(mediaType);
HttpEntity httpEntity = new HttpEntity(obj, httpHeaders);
ResponseEntity result = restTemplate.exchange(url, method, httpEntity, String.class);
LOG.info(" :" + url + " :" + result.getStatusCodeValue());
return result;
}