在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);
}
该博客介绍了如何在SpringCloud分布式微服务架构中,通过专门的files服务处理文件上传操作。文件服务提供了一个RESTful API,接收MultipartFile类型的文件,并在控制器中进行了简单的日志记录。同时,利用OpenFeign客户端,可以在其他服务中方便地调用这个文件上传接口,注意需指定consumes为MediaType.MULTIPART_FORM_DATA_VALUE。

460

被折叠的 条评论
为什么被折叠?



