在SpringCloud分布式微服务中, 建议单独抽出一个服务进行文件的上传等操作
1. files 服务
@RestController
@Slf4j
public class FileController {
@PostMapping("/file/upload")
public Map<String, Object> upload(@RequestPart("file") MultipartFile file) {
Map<String, Object> map = new HashMap<>();
log.info("接收到的文件名: {}", file.getOriginalFilename());
return map;
}
}
2. openfeign客户端
@FeignClient("files")
public interface FileClient {
/**
* 调用文件上传服务
* 注意: 使用openfeign传递参数含有文件类型时必须指定 consumes = MediaType.MULTIPART_FORM_DATA_VALUE
*/
@PostMapping(value = "/file/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
Map<String, Object> upload(@RequestPart("file") MultipartFile file);
}