Sringプロジェクト間のファイル転送(ビルの主な測定が有効)
2526 ワード
Springプロジェクト間のファイル転送
サービスの開発過程では、サービス間のファイル転送が常に必要です.関連フレームは、Springboot、Spring MVCなどです.関連する技術は、RertTemplate、FileSystemResource、MultiiprtFileなどがあります.プロジェクト間のファイル転送プロジェクトBはプロジェクトAにファイルを転送する.例えばプロジェクトA:インターフェースがあります.受信したファイルパラメータの種類は、以下の図の通りです. プロジェクトBにおいて、送信された要求のコードは、下図のようになっています.
サービスの開発過程では、サービス間のファイル転送が常に必要です.関連フレームは、Springboot、Spring MVCなどです.関連する技術は、RertTemplate、FileSystemResource、MultiiprtFileなどがあります.
@PostMapping("uploadReport")
public JsonResult uploadReport(@Valid String number, @Valid MultipartFile multipartFile) {
log.debug("REST request to uploadReport. number: {}", number);
OperationResult result = reportManageService.uploadReport(number, multipartFile);
if (result.getSucc()) {
return success(result.getEntity());
}
return error(result.getCode(), result.getMessage());
}
public OperationResult uploadReport() throws IOException {
//
HttpHeaders requstHttpHeaders = new HttpHeaders();
//
StringBuilder remoteUrl = new StringBuilder();
remoteUrl.append("http://172.16.xx.xx:8080/").append("api/xxx/uploadReport");
//
File filepath = new File("/Users/wangdong/Desktop/buzaihu.jpg");
FileSystemResource fileSystemResource = new FileSystemResource(filepath);
// FileSystemResource
MultiValueMap params = new LinkedMultiValueMap<>();
params.add("number",87000016);
params.add("multipartFile",fileSystemResource);
// , HttpEntity
HttpEntity> httpEntity = new HttpEntity<>(params, requstHttpHeaders);
// RemoteUser ( )
ResponseEntity result = restTemplate.postForEntity(remoteUrl.toString(), httpEntity, String.class);
// , debug result
if (!String.valueOf(result.getStatusCodeValue()).equals(SystemCode.SUCCESS.getCode())) {
return new OperationResult<>(SelfErrorCode.REMOTE_REQUEST_ERROR.getCode(), selfSystemErrorCode.getRemoteRequestError());
}
if (null == result.getBody()) {
return new OperationResult<>(SelfErrorCode.REMOTE_RETURN_NULL.getCode(), selfSystemErrorCode.getRemoteReturnNull());
}
return new OperationResult<>(true);
}
以上のコードはビルの主な測定によって有効です.少量の変更だけで使えます.仕事が順調に行きますように.