FileStorageService에 위임@RestController
@RequiredArgsConstructor
@RequestMapping("/api/uploads")
publicclassImageUploadController {
privatefinalFileStorageServicefileStorageService;
@PostMapping("/images")
publicResponseEntity<?>upload(
@RequestParam("file")MultipartFilefile,
HttpServletRequestreq
) {
Stringpath=fileStorageService.storeEditorImageToTmp(file,"tasks");
Stringbase=req.getScheme()+"://"+req.getServerName()+
((req.getServerPort()==80||req.getServerPort()==443)?"" :":"+req.getServerPort());
returnResponseEntity.ok(Map.of("url",base+path));
}
}
업로드 처리
MultipartFile로 받은 파일 → FileStorageService.storeEditorImageToTmp() 호출접근 URL 생성
scheme + host + port 기반응답
JSON 형태로 반환:
{ "url":"<http://host>:port/uploads/tasks/tmp/파일명" }
의존성
FileStorageService가 담당storeEditorImageToTmp(file, module)로 처리 가능