FeignMultipartSupportConfig上传图片配置方式是什么
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章主要介绍FeignMultipartSupportConfig上传图片配置方式是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!FeignMultipartSuppo
千家信息网最后更新 2025年11月08日FeignMultipartSupportConfig上传图片配置方式是什么
这篇文章主要介绍FeignMultipartSupportConfig上传图片配置方式是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
FeignMultipartSupportConfig上传图片配置
在对应的boot项目上关闭全局的上传图片的配置
@SpringBootApplication@EnableCircuitBreaker@EnableEurekaClient@EnableFeignClients@ComponentScan(excludeFilters = {@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE,value = FeignMultipartSupportConfig.class)})public class BootstrapApplication { public static void main(String[] args) { SpringApplication.run(BootstrapApplication.class, args); }}在目标feign上面添加
@FeignClient(name = "micro-picture", fallbackFactory = MicroPictureFactory.class, configuration = FeignMultipartSupportConfig.class)public interface MicroPictureClient {@RequestMapping(value = { "/picture/common/upload/{commonKey}" }, method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public String upload(@RequestPart("image") MultipartFile image, @PathVariable("commonKey") Long commonKey); }就可以实现对应的服务做图片的上传,针对的图片微服务就可以实现数据的额接收。
对应配置文件的代码
@Configurationpublic class FeignMultipartSupportConfig { @Bean @Primary @Scope("prototype") public Encoder multipartFormEncoder() { return new FeignSpringFormEncoder(); } @Bean public feign.Logger.Level multipartLoggerLevel() { return feign.Logger.Level.FULL; }}package com.zhht.config;import feign.RequestTemplate;import feign.codec.EncodeException;import feign.codec.Encoder;import feign.form.ContentType;import feign.form.FormEncoder;import feign.form.MultipartFormContentProcessor;import feign.form.spring.SpringManyMultipartFilesWriter;import feign.form.spring.SpringSingleMultipartFileWriter;import org.springframework.web.multipart.MultipartFile;import java.lang.reflect.Type;import java.util.Collections;import java.util.Map;public class FeignSpringFormEncoder extends FormEncoder { public FeignSpringFormEncoder() { this(new Default()); } public FeignSpringFormEncoder(Encoder delegate) { super(delegate); MultipartFormContentProcessor processor = (MultipartFormContentProcessor) this .getContentProcessor(ContentType.MULTIPART); processor.addWriter(new SpringSingleMultipartFileWriter()); processor.addWriter(new SpringManyMultipartFilesWriter()); } public void encode(Object object, Type bodyType, RequestTemplate template) throws EncodeException { if (bodyType.equals(MultipartFile.class)) { MultipartFile file = (MultipartFile) object; if (file != null) { Map data = Collections.singletonMap("image", object); super.encode(data, MAP_STRING_WILDCARD, template); return; } } else if (bodyType.equals(MultipartFile[].class)) { MultipartFile[] file = (MultipartFile[]) object; if (file != null) { Map data = Collections.singletonMap("imgList", object); super.encode(data, MAP_STRING_WILDCARD, template); return; } } super.encode(object, bodyType, template); }} 如何使用Feign上传图片
添加依赖,支持SpringEncoder
io.github.openfeign.form feign-form 3.4.1 io.github.openfeign.form feign-form-spring 3.4.1
将SpringFormEncoder的默认处理
encoder配置为SpringEncoder
@Configurationpublic class FeignMultipartSupportConfig { @Bean public Encoder multipartFormEncoder(ObjectFactory messageConverters) { return new SpringFormEncoder(new SpringEncoder(messageConverters)); }} 编写client
@FeignClient(value = "****", fallbackFactory = UploadClientFallbackFactory.class , configuration = FeignMultipartSupportConfig.class)public interface UploadClient { /** * 上传图片文件 * * @param file * @return */ @PostMapping(value = "/tbk/feedback/upload", produces = {MediaType.APPLICATION_JSON_UTF8_VALUE}, consumes = MediaType.MULTIPART_FORM_DATA_VALUE) BaseResponse uploadImage(@RequestPart("file") MultipartFile file);} 以上是"FeignMultipartSupportConfig上传图片配置方式是什么"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
图片
配置
方式
内容
文件
篇文章
服务
代码
价值
全局
兴趣
小伙
小伙伴
数据
更多
目标
知识
行业
资讯
资讯频道
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
计算机软件数据库设计原则
voc 数据库
用云服务器改ip
幻塔加好友必须要一样的服务器吗
数据库两表全关联
画网络安全的画怎么画
pixivapi服务器升级
一梦江湖服务器不同可以一起玩吗
金融稳定与网络安全
常州汇乐互联网科技有限公司
软件开发采购评审标准
网络安全视频片尾
网络数据库维护怎么收费
嘟嘟网络技术有限公司怎么样
兴义web服务器报价
涞水软件开发项目管理
网络安全应急办设在哪里
潜江专业的软件开发中心
反射机制访问数据库
浏览记录服务器后台能查看吗
弱电机房服务器ping不通
存货档案数据库表路径
网页源服务器连接超时
数据库 修改表名
河北定制网络技术开发机构
摩尔庄园是一个服务器吗
防护云服务器
涧西软件开发找哪家
网络安全大赛青岛
计算机网络技术笔记配色黑底