一、问题简介
在springcloud微服务中,需要用到feign去调用文件上传的服务,如通过fastdfs文件服务器上传文件:
1、fegin的接口配置(服务降级代码:略~)
@FeignClient(value = "XXXXXXXX-XXXXX-PROVIDER", fallbackFactory = XxxxxxClientFallbackFactory.class)
public interface XxxxxxClientService {
/**
* 保存图片
*
* @param file
* @return
* @throws Exception
*/
@RequestMapping(value = "/xxxxx/xxxxx/saveFile", method = RequestMethod.POST, produces = {MediaType.APPLICATION_JSON_UTF8_VALUE}, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public Result saveFile(@RequestPart("file") MultipartFile file) throws Exception;
}
2、服务入口代码:
/**
* 保存文件
*
* @param file
* @return
* @throws Exception
*/
@RequestMapping(value = "/xxxxx/xxxxx/saveFile", method = RequestMethod.POST, produces = {MediaType.APPLICATION_JSON_UTF8_VALUE}, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public Result saveFile(@RequestPart("file") MultipartFile file) throws Exception {
try {
return xxxxxxClientService.saveFile(file);//fegin接口服务调用
} catch (Exception e) {
log.error("~~~~", e);
}
return Result.error();
}
3、文件上传服务(单独访问该服务,上传文件成功~)
@RequestMapping(value = "/xxxxxx/saveFile", method = RequestMethod.POST)