栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

fegin文件上传远程调用配置

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

fegin文件上传远程调用配置

springcloud中fegin不支持直接传文件,可通过引入fegin的扩展包来实现

1、在消费方引入fegin对表单提交的依赖


   io.github.openfeign.form
   feign-form
   3.0.3


   io.github.openfeign.form
   feign-form-spring
   3.0.3


   commons-fileupload
   commons-fileupload
   1.3.3

2、在服务提供方编写上传接口

@PostMapping(value = "/uploadFile", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    public String handleFileUpload(@RequestPart(value = "file") MultipartFile file) {
        return file.getOriginalFilename();
    }

3、在服务消费方编写文件传输编码配置项

   @Configuration
    class MultipartSupportConfig {
        @Bean
        public Encoder feignFormEncoder() {
            return new SpringFormEncoder();
        }
    }

4、在消费端编写文件上传接口

@FeignClient("eureka-client")
public interface DcClient {

    @GetMapping("/dc")
    String consumer();

    @PostMapping(value = "/uploadFile", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    String handleFileUpload(@RequestPart(value = "file") MultipartFile file);
}

@RestController
public class DcController {

//    @Autowired
//    LoadBalancerClient loadBalancerClient;

//    @Autowired
//    RestTemplate restTemplate;

    @Autowired
    DcClient dcClient;


//    @GetMapping("/consumer")
//    public String dc() {
        ServiceInstance serviceInstance = loadBalancerClient.choose("eureka-client");
        String url = "http://" + serviceInstance.getHost() + ":" + serviceInstance.getPort() + "/dc";
        System.out.println(url);
//        return restTemplate.getForObject("http://eureka-client/dc", String.class);
//    }


    @GetMapping("/consumer")
    public String dc() {
        return dcClient.consumer();
    }

    @PostMapping(value = "/uploadFile", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    public String handleFileUpload(@RequestPart(value = "file") MultipartFile file){
        return dcClient.handleFileUpload(file);
    }

5、postman调用文件上传

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/602394.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号