前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Feign实现文件跨服务上传下载

Feign实现文件跨服务上传下载

作者头像
用户10325771
发布2023-03-01 18:18:08
8230
发布2023-03-01 18:18:08
举报

文章目录[隐藏]

上传

文件上传服务

代码语言:javascript
复制
@ApiOperation(value = "单文件上传")
@RequestMapping(value = "/upload", method = RequestMethod.POST,consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public DataJsonResult uploadFile(@RequestPart("file") MultipartFile file){}

调用文件上传服务

jar包
代码语言:javascript
复制
implementation group: 'io.github.openfeign.form', name: 'feign-form', version: '3.8.0' 
implementation group: 'io.github.openfeign.form', name: 'feign-form-spring', version: '3.8.0' 
配置类
代码语言:javascript
复制
import feign.Logger;
import feign.codec.Encoder;
import feign.form.spring.SpringFormEncoder;
import org.springframework.beans.factory.ObjectFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
import org.springframework.cloud.openfeign.support.SpringEncoder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class FileConfig {
    /**
     * 打开feign的日志
     * @return
     */
    @Bean
    Logger.Level feignLoggerLevel() {
        return Logger.Level.FULL;
    }
    /**
     * 涉及文件传输配置
     */
    class MultipartSupportConfig {
        @Autowired
        private ObjectFactory<HttpMessageConverters> messageConverters;
        @Bean
        public Encoder feignFormEncoder() {
            return new SpringFormEncoder(new SpringEncoder(messageConverters));
        }
    }
}
调用
代码语言:javascript
复制
@RequestMapping(value = "/upload", method = RequestMethod.POST
,consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public DataJsonResult gridFsFile(@RequestPart("file") MultipartFile file);
注意:
代码语言:javascript
复制
1.接口注解RequestMapping需要加入consumes=MediaType.MULTIPART_FORM_DATA_VALUE
2.参数注解@RequestPart(“file”)不能写成@RequestParam("file")。

下载

消费端

代码语言:javascript
复制
import feign.Response;

@RequestMapping(value = "/download", method = RequestMethod.GET) public Response gridFsDownload(@RequestParam("fileId")String  fileId);
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-02-27),如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 上传
    • 文件上传服务
      • 调用文件上传服务
        • jar包
        • 配置类
        • 调用
    • 下载
      • 消费端
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档