亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

Spring Cloud Feign文件傳輸的示例代碼

2024-07-14 08:41:08
字體:
來源:轉載
供稿:網友

一、配置文件解析器

服務提供者和消費者都需要配置文件解析器,這里使用 commons-fileupload 替換原有的解析器:

依賴:

<dependency>  <groupId>commons-fileupload</groupId>  <artifactId>commons-fileupload</artifactId>  <version>1.3.1</version></dependency>

注入 bean :

@Bean(name = "multipartResolver")public MultipartResolver mutipartResolver(){  CommonsMultipartResolver com = new CommonsMultipartResolver();  com.setDefaultEncoding("utf-8");  return com;}

程序入口中剔除原有的解析器:

@SpringBootApplication(exclude = {MultipartAutoConfiguration.class})

二、服務提供者,即接收文件一方的配置

Controller 的寫法:

@ResponseBody@RequestMapping(value = "/upload", method = {RequestMethod.POST},        produces = {MediaType.APPLICATION_JSON_UTF8_VALUE},        consumes = MediaType.MULTIPART_FORM_DATA_VALUE)public Result<String> uploadFile(@RequestPart("file")MultipartFile file,@RequestParam("id")Long id){  String fileName = file.getOriginalFilename();  String extend = FileOperateUtil.suffix(fileName);  FileOperateUtil.copy("E://" + fileName, file);  return ResultBuilder.success("ok");}

@RequestPart 指定文件,后面的 @RequestParam 是額外參數,注意額外參數不能超過url長度限制。

三、服務消費者配置

依賴:

<dependency>  <groupId>io.github.openfeign.form</groupId>  <artifactId>feign-form-spring</artifactId>  <version>3.2.2</version></dependency><dependency>  <groupId>io.github.openfeign.form</groupId>  <artifactId>feign-form</artifactId>  <version>3.2.2</version></dependency>

文件編碼配置:

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.web.HttpMessageConverters;import org.springframework.cloud.netflix.feign.support.SpringEncoder;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class MultipartSupportConfig{  @Autowired  private ObjectFactory<HttpMessageConverters> messageConverters;  @Bean  public Encoder feignFormEncoder(){    return new SpringFormEncoder(new SpringEncoder(messageConverters));  }}

Feign 接口定義:

@FeignClient(name = "test-upload")public interface UploadService{  @ResponseBody  @RequestMapping(value = "/upload", method = {RequestMethod.POST},      produces = {MediaType.APPLICATION_JSON_UTF8_VALUE},      consumes = MediaType.MULTIPART_FORM_DATA_VALUE)  Result<String>uploadFile(@RequestPart("file")MultipartFile file,@RequestParam("id")Long id);}

與普通 Feign 接口寫法差不多,注意方法注解和參數與服務提供者的 controller 一樣。

Controller 的寫法, Controller 中接收前端傳過來的文件信息和額外參數,然后通過 Feign 接口傳輸到遠端:

// 注入 feign 接口@Autowiredprivate UploadService uploadService;@RequestMapping(value = "/upload", method = RequestMethod.POST, produces = "application/json; charset=utf-8")@ResponseBodypublic Result<String> testUpload(HttpServletRequest request, Long id){  Result<String> result = null;  MultipartHttpServletRequest mRequest = (MultipartHttpServletRequest) request;  Map<String, MultipartFile> fileMap = mRequest.getFileMap();  for (MultipartFile mFile : fileMap.values()) {    String fileName = mFile.getOriginalFilename();    result = uploadService.uploadFile(mFile, id);  }  return result;}

四、總結

最后梳理一下流程,服務消費者接收前端(如瀏覽器)傳過來的文件,但是并不進行業務處理,然后通過 Feign 調用接口,把文件傳給服務提供者,服務提供者拿到文件后,進行相應的業務處理。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美高清电影在线看| 欧美性在线视频| 日韩精品在线播放| 日韩视频精品在线| 黑人巨大精品欧美一区二区一视频| 国产精品中文在线| 国产精品日本精品| 亚洲欧美另类人妖| 国产亚洲视频在线观看| 欧美寡妇偷汉性猛交| 色www亚洲国产张柏芝| 91精品国产自产91精品| 国产日韩综合一区二区性色av| 日韩精品免费在线| 九九热r在线视频精品| 亚洲自拍在线观看| 日韩中文av在线| 久久在线免费观看视频| 欧美激情va永久在线播放| 国产精品久久久久福利| 国产亚洲激情视频在线| 中文字幕国产亚洲| 成人av在线天堂| 亚洲美女视频网| 国产成人精品一区二区在线| 久久精品中文字幕电影| 日韩av片免费在线观看| 69av在线视频| 亚洲国产精品yw在线观看| 久久久亚洲国产| 51ⅴ精品国产91久久久久久| 日韩专区在线播放| 成人黄色在线免费| 欧美成人合集magnet| 精品国产精品三级精品av网址| 国产一区二区三区在线免费观看| 一区二区三区四区精品| 亚洲一区二区三区777| 国产精品视频自拍| 国产精品成人播放| 国产精品h片在线播放| 亚洲乱码一区av黑人高潮| 欧美一级视频免费在线观看| 亚洲精品98久久久久久中文字幕| 色天天综合狠狠色| 亚洲视频欧洲视频| 欧美视频在线观看免费网址| 成人观看高清在线观看免费| 中文字幕亚洲无线码a| 国产精品欧美风情| 日产精品99久久久久久| 欧美人与性动交a欧美精品| 亚洲欧美日韩图片| 欧美裸体男粗大视频在线观看| 欧美日韩亚洲视频| 成人精品在线视频| 在线视频欧美日韩| 亚洲国产99精品国自产| 日韩av色综合| 欧美视频在线观看 亚洲欧| 欧美日韩中国免费专区在线看| 一区二区成人精品| 日本精品视频网站| 亚洲国产又黄又爽女人高潮的| 91中文字幕在线观看| 亚洲激情国产精品| 成人xxxxx| 国产午夜精品美女视频明星a级| 欧美整片在线观看| 久久免费高清视频| 国产精品专区第二| 69av在线视频| 亚洲天堂第一页| 这里只有视频精品| 95av在线视频| 高清日韩电视剧大全免费播放在线观看| 久久综合久久美利坚合众国| 日韩欧美高清视频| 美女久久久久久久| 久久在线精品视频| 91av国产在线| 久久久亚洲国产| www.xxxx欧美| 久久视频国产精品免费视频在线| 午夜精品一区二区三区av| 国产网站欧美日韩免费精品在线观看| 亚洲国产精品悠悠久久琪琪| 亚洲毛茸茸少妇高潮呻吟| 中文字幕日韩欧美精品在线观看| 久久免费视频这里只有精品| 北条麻妃一区二区在线观看| www.日韩不卡电影av| 国产成人精品视频在线观看| 欧美午夜视频在线观看| 一区二区三区四区视频| 亚洲成**性毛茸茸| 国产成人亚洲综合| 久久久国产精彩视频美女艺术照福利| 欧美性猛交视频| 国产精品三级网站| 成人情趣片在线观看免费| 一区二区在线视频| 九九热r在线视频精品| 久久躁日日躁aaaaxxxx| 国产区亚洲区欧美区| 欧美激情久久久| 懂色av影视一区二区三区| 国产精品丝袜视频| 中文字幕久精品免费视频| 欧美视频中文在线看| 中文日韩在线视频| 中文字幕欧美专区| 国产精品6699| 日韩最新av在线| 欧美精品久久久久久久免费观看| 欧美性高潮床叫视频| 久久精视频免费在线久久完整在线看| 亚洲精品乱码久久久久久金桔影视| 国产精品亚洲美女av网站| 国产精品影院在线观看| 亚洲国产欧美在线成人app| 国产精品av电影| 久久中文字幕在线| 国产日本欧美在线观看| 欧美激情视频免费观看| 国产成人精品久久二区二区| 欧美美最猛性xxxxxx| 久久天天躁狠狠躁夜夜躁2014| 在线免费观看羞羞视频一区二区| 理论片在线不卡免费观看| 久久久久久久久久久久久久久久久久av| 亚洲片国产一区一级在线观看| 久久久久久久久综合| 久久久久久久久久久久久久久久久久av| 7777免费精品视频| 久久综合久久美利坚合众国| 国产精品999999| 91高清视频在线免费观看| 欧美国产第一页| 国产精品自产拍在线观| 搡老女人一区二区三区视频tv| 久久伊人91精品综合网站| 最近2019年中文视频免费在线观看| 国产精品观看在线亚洲人成网| 国产免费一区二区三区香蕉精| 亚洲欧美在线免费观看| 成人黄色大片在线免费观看| 九九精品视频在线观看| 影音先锋欧美精品| 午夜精品久久久久久久久久久久| 性金发美女69hd大尺寸| 性欧美办公室18xxxxhd| 4444欧美成人kkkk| 欧美肥老妇视频| 国产精品成人久久久久| www.久久久久| 欧美性xxxx| 国产成人精品久久| 综合网日日天干夜夜久久| 国产精品27p| 国内外成人免费激情在线视频| 日韩动漫免费观看电视剧高清| 欧美xxxx18国产| 亚洲精品720p|