huahua297074224
huahua297074224
采纳率0%
2021-03-08 16:07

feign跨服务上传文件怎么处理?

feign跨服务上传文件,网上现在的方法全都试过了。报Required request part 'file' is not present。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答

  • technologist_08 CSDN技术专家团—wangjie 1月前

    题主把相关代码贴一下,大家帮你看看

    点赞 评论 复制链接分享
  • huahua297074224 huahua297074224 1月前
    @FeignClient(value = FeignConstant.PLATFORM_CLOUD_UPMS,configuration = FeignConfiguration.class)
    public interface IUploadFileProvider {
    
        @PostMapping(value = "/uploadTest")
        Result uploadTest(@RequestPart("file")MultipartFile file);
    }
    
    
    @Configuration
    public class FeignConfiguration {
    
        @Bean
        @Primary
        @Scope("prototype")
        public Encoder multipartFormEncoder(ObjectFactory<HttpMessageConverters> messageConverters) {
            return new FeignSpringFormEncoder(new SpringEncoder(messageConverters));
        }
    }
    
    //服务端实现类
    @RestController
    @Api(value = "文件上传", tags = "文件上传")
    public class UploadFileApi {
    
        @PostMapping("/uploadTest")
        public Result uploadTest(@RequestPart("file") MultipartFile file) {
            System.out.println(file.getContentType());
            return Result.ok();
        }
    }
    
    //客户端调用
    public class UploadFileApi {
        @Resource
        private IUploadFileProvider uploadFileProvider;
    
        @PostMapping(value = "/uploadFile")
        public Result uploadTest(@RequestPart("file")MultipartFile file) {
            return uploadFileProvider.uploadTest(file);
        }
    }
    点赞 评论 复制链接分享
  • weixin_45520658 Motivation丶R 1月前

    文件使用MultipartFile ,加注解@RequestPart ,使用post,亲测有效

    点赞 评论 复制链接分享
  • vbhfdghff hweiyu00 1月前

    检查org.springframework.web.multipart.MultipartFile#getName,传入和接收的name是否一致

    点赞 评论 复制链接分享
  • qq_37083863 三岁丫 1月前

    网上的方案都试了,而且你啥代码异常也不贴出来,所以没办法解决。如果文件不大的话,转 base64 吧,传字符串吧。

    点赞 评论 复制链接分享

为你推荐