在spring cloud封裝的feign中並不直接支援傳檔案,但可以通過引入feign的擴充套件包來實現,本來就來具體說說如何實現。
原文:服務提供方的實現比較簡單,就按spring mvc的正常實現方式即可,比如:
@enablefeignclients
@enablediscoveryclient
public
class
}public
static
void
main
(string args)
}複製**
在服務消費方由於會使用feign客戶端,所以在這裡需要在引入feign對表單提交的依賴,具體如下:
io.github.openfeign.formgroupid>
feign-formartifactid>
3.0.3version>
dependency>
io.github.openfeign.formgroupid>
feign-form-springartifactid>
3.0.3version>
dependency>
commons-fileuploadgroupid>
commons-fileuploadartifactid>
1.3.3version>
dependency>
複製**
定義檔案上傳方的應用主類和feignclient,假設服務提供方的服務名為eureka-feign-upload-server
@enablefeignclients
@enablediscoveryclient
public
class
}@feignclient(value = "upload-server", configuration = uploadservice.multipartsupportconfig.class)
public
inte***ce
uploadservice
} }複製**
在啟動了服務提供方之後,嘗試在服務消費方編寫測試用例來通過上面定義的feign客戶端來傳檔案,比如:
@slf4j
@runwith(springjunit4classrunner.class)
@springboottest
public
class
uploadtester
catch (exception e)
multipartfile multi = new commonsmultipartfile(fileitem);
log.info(uploadservice.handlefileupload(multi));
}}複製**
讀者可以根據喜好選擇下面的兩個倉庫中檢視eureka-feign-upload-server
和eureka-feign-upload-client
兩個專案:
如果您對這些感興趣,歡迎star、follow、收藏、**給予支援!
Spring Cloud Feign上傳檔案
feign 無法直接傳遞檔案引數,需要在client端引入幾個依賴 方式與普通的檔案上傳方法一致 restcontroller class uploadproducer 2.1 需要在客戶端引入以下依賴io.github.openfeign.form feign form 3.0.3 io.gith...
使用Spring Cloud Feign上傳檔案
原文 最近經常有人問spring cloud feign如何上傳檔案。有團隊的新成員,也有其他公司的兄弟。本文簡單做個總結 早期的spring cloud中,feign本身是沒有上傳檔案的能力的 1年之前 要想實現這一點,需要自己去編寫encoder去實現上傳。現在我們幸福了很多。因為feign官方...
Spring Cloud Feign如何上傳檔案
一 feign官方提供了feign 的子專案feign from 1 加依賴 io.github.openfeign.form feign form 3.0.3 io.github.openfeign.form feign form spring 3.0.3 2 介面定義中的註解 requestpa...