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

fegin文件上传远程调用配置

Java 更新时间:发布时间: 百科书网 趣学号

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.051e.com
本文地址:http://www.051e.com/it/602394.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号