zoukankan      html  css  js  c++  java
  • SpringCloud下通过feign进行文件上传

    在springclod项目下,通过feign的内部调用进行文件上传

    和一般的feign调用会有一点点区别,主要是服务提供者(feign接口)的定义有些变化

    Feign服务提供者

    @FeignClient(
        value = AppConstant.APPLICATION_RESOURCE_NAME,
        fallback = IOssClientFallback.class
    )
    public interface IOssClient {
        String API_PREFIX = "/client";
        String PUT_FILE = API_PREFIX + "/put-file";
    
        /**
         * 上传文件
         *
         * @param file   资源编号
         * @param tenantId
         * @return R
         */
        @PostMapping(value = PUT_FILE, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
        @SneakyThrows
        R<Object> putFile(@RequestPart("file") MultipartFile file, @RequestParam("tenantId") String tenantId);
    
    }

    主要是@RequestMapping里面的consumes属性还有@RequestPart("file")

    至于@RequestParam和@RequestPart的区别如下(摘抄至网络)

    1.@RequestPart这个注解用在multipart/form-data表单提交请求的方法上。

    2.支持的请求方法的方式MultipartFile,属于Spring的MultipartResolver类。这个请求是通过http协议传输的。
    3.@RequestParam也同样支持multipart/form-data请求。
    4.他们最大的不同是,当请求方法的请求参数类型不再是String类型的时候。
    5.@RequestParam适用于name-valueString类型的请求域,@RequestPart适用于复杂的请求域(像JSON,XML)。

    心里有束光,眼里有片海
  • 相关阅读:
    [转]MyBatis传入多个参数的问题
    【转】赶集网mysql开发36军规
    C#套接字和windowsAPI套接字
    java中的注解
    java中的枚举类型
    过去的汇编代码
    近日错误集锦
    java swing模仿随机频谱
    java泛型中的对象
    XML-RPC远程方法调用
  • 原文地址:https://www.cnblogs.com/xhy-shine/p/14513284.html
Copyright © 2011-2022 走看看