1、引入maven依赖
<dependency>
<groupId>io.github.openfeign.form</groupId>
<artifactId>feign-form-spring</artifactId>
<version>3.2.2</version>
</dependency>
<dependency>
<groupId>io.github.openfeign.form</groupId>
<artifactId>feign-form</artifactId>
<version>3.2.2</version>
</dependency>
2、feign上传文件feign结构以及配置类
@FeignClient(name = "pms-rms",configuration = IFileUploadClient.MultipartSupportConfig.class)
public interface IFileUploadClient {
/**
* 根据条件查询集合
* @param flFileupload
* @return
*/
@RequestMapping("/module/fileManage/fileManageFileUploadInfoDomainList")
@ResponseBody
public List<FileManageFileUploadInfoDomain> selectList(@RequestBody FileManageFileUploadInfoDomain flFileupload);
/**
* 上传文件增加到表中并返回集合信息
* @param file
* @param request
* @return
*/
@RequestMapping(method = RequestMethod.POST, value = "/module/fileManage/upload",produces = {MediaType.APPLICATION_JSON_UTF8_VALUE},consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
@ResponseBody
public AjaxResult uploadFile(@RequestPart(value = "file") MultipartFile file, @RequestParam MultipartHttpServletRequest request);
/**
* 文件上传配置类
*/
@Configuration
class MultipartSupportConfig {
@Autowired
private ObjectFactory<HttpMessageConverters> messageConverters;
@Bean
public Encoder feignFormEncoder() {
return new SpringFormEncoder(new SpringEncoder(messageConverters));
}
}
}