主要记录SpringCloud在调Feign传文件时的问题:
1.(按注意点2改正即可)
Current request is not a multipart request(按注意点2改正即可)
2.(按注意点3处理即可)
The field files exceeds its maximum permitted size of 1048576 bytes.(按注意点3处理即可)
-
- @PostMapping(value="/upload_feign")
- public AjaxResult upload_feign(@RequestParam(value = "file") File file) ;
分布式使用Feign传文件时正确姿势:
-
- @PostMapping(value="/_upload",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
- public AjaxResult upload(@RequestPart(value = "file") MultipartFile file) ;
- @PostMapping(value="/_upload_",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
- public AjaxResult _upload_(@RequestPart(value = "file") MultipartFile file, ) throws Exception {
- //具体业务************
- return "";
- }
remoteService._upload_(multipartFile);
- public class Application {
- public static void main(String[] args) {
-
- SpringApplication.run(WmsApplication.class, args);
- }
- @Bean
- public MultipartConfigElement multipartConfigElement() {
- MultipartConfigFactory factory = new MultipartConfigFactory();
- //允许上传的文件最大值
- factory.setMaxFileSize( DataSize.parse("102400KB")); //KB,MB
- /// 设置总上传数据总大小
- factory.setMaxRequestSize(DataSize.parse("102400KB"));
- return factory.createMultipartConfig();
- }
- spring:
- servlet:
- multipart:
- max-file-size: 100MB
- max-request-size: 100MB
然后调用结果成功如下:

以上我已亲测,记录不易转载请注明出处。