Feign实现文件跨服务上传下载
2023-06-13 09:15:25 时间
文章目录[隐藏]
上传
文件上传服务
@ApiOperation(value = "单文件上传")
@RequestMapping(value = "/upload", method = RequestMethod.POST,consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public DataJsonResult uploadFile(@RequestPart("file") MultipartFile file){}
调用文件上传服务
jar包
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'
配置类
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));
}
}
}
调用
@RequestMapping(value = "/upload", method = RequestMethod.POST
,consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public DataJsonResult gridFsFile(@RequestPart("file") MultipartFile file);
注意:
1.接口注解RequestMapping需要加入consumes=MediaType.MULTIPART_FORM_DATA_VALUE
2.参数注解@RequestPart(“file”)不能写成@RequestParam("file")。
下载
消费端
import feign.Response;
@RequestMapping(value = "/download", method = RequestMethod.GET) public Response gridFsDownload(@RequestParam("fileId")String fileId);
相关文章
- pytest指定用例_pytest执行多个py文件
- Android平台实现mp4文件实时推送RTMP|轻量级RTSP服务|GB28181平台
- OpenOffice3.0以服务方式运行在Windows平台(文件转换服务器解决方案)
- 启动打印服务bat_关闭文件与打印机服务 bat
- idea打包jar文件_idea如何打包jar外部包
- Git清理文件
- SAP OData 服务关于本地文件作为附件上传的一些错误消息
- nginx 搭建静态网页服务,不同的前缀进入不同的静态文件路径详解程序员
- 将CSV文件导进MySQL表格的Java示例详解数据库
- Linux查看可执行文件位置的方法(linux执行文件位置)
- 器上文件Linux 检查 FTP 服务器文件的方法(linux查看ftp服务)
- 深入Linux服务器:查看日志文件来跟踪服务状态(查看linux服务日志)
- MyBatis实现映射器的2种方式:XML文件形式和注解形式
- 文件Linux删除SWP文件的简单方法(linux删除swp)
- Linux下复制文件的CP命令(linux复制cp)
- Linux下如何用日期命名文件(linux日期命名文件)
- Ubuntu One文件服务将关闭 Canonical无以为继“免费存储大战”
- 如何在 Linux 中快速地通过 HTTP 提供文件访问服务
- 器Linux环境搭建文件传输服务器简易指南(Linux 传文件服务)
- 在oracle中快速定位的lst文件(.lst oracle)
- Oracle实现的文件共享服务(oracle 共享文件)
- Yum安装并配置Redis服务(yum文件配置redis)
- Redis存储简单数据的简单文件(什么是redis文件)