日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

關于springboot 中使用httpclient或RestTemplate做MultipartFile文件跨服務傳輸的問題

瀏覽:247日期:2023-03-29 10:31:14

大家好,因為近期做需求中遇到了文件上傳這個東西,而且我這個還是跨服務去傳輸文件的所以我這邊使用了httpclient和RestTemplate去做,但是最后還是用的httpclientfeign和RestTemplate在超大文件下會OOM所以適用于小文件傳輸我這邊測試的在1G以下httpclient好像是無限哈哈哈。(具體多少大家有時間可以去測一下)

1.被調用服務的Controller

1.這塊使用@RequestParam(“file”)或者@RequestPart(“file”)都是可以接到參數的。2.(“file”)一定要和遠程調用代碼傳的參數名一樣 否則接不到參數。

@RequestMapping(value = '/remoteCallUpload',method = RequestMethod.POST) @ApiOperation('測試遠程調用上傳') public String remoteCallUpload(@RequestParam('file') MultipartFile file){ System.out.println(file); return '成功'; }

1.RestTemplate

1.如果用RestTemplate的話首先需要把RestTemplate交給spring去管理所以先來一個配置類。2.@SuppressWarnings(“all”) 這個注解是jdk自帶的的意思是 意志所有的警告。

@Configuration@SuppressWarnings('all')public class RestTemplateConfig { @Autowired RestTemplateBuilder builder; @Bean public RestTemplate restTemplate() { return builder.build(); }}

2.RestTemplate遠程調用文件傳輸

這里有幾個要注意的地方

1.必須重寫否則傳輸時報錯

ByteArrayResource byteArrayResource = new ByteArrayResource(file.getBytes()) { @Override public String getFilename() {return file.getOriginalFilename(); } };

2.設置請求頭因為就在模擬前端發送上傳文件的請求所以請求頭必須是multipart/form-data

3.第三個參數是被調用Controller的返回值類型,我的測試Controller寫的是String所以我的這邊第三參數就是String.Class

restTemplate.postForObject(url, files, String.class);

4.url就是被調用服務的地址 如:

http://192.168.3.7:50003/test/remoteCallUpload

以上是注意事項。

@Autowiredprivate RestTemplate restTemplate;private String gettestRestTemplate(MultipartFile file, String url) throws IOException { HttpHeaders headers = new HttpHeaders(); MediaType type = MediaType.parseMediaType('multipart/form-data'); headers.setContentType(type); MultiValueMap<String, Object> form = new LinkedMultiValueMap<>(); ByteArrayResource byteArrayResource = new ByteArrayResource(file.getBytes()) { @Override public String getFilename() {return file.getOriginalFilename(); } }; form.add('file', byteArrayResource); form.add('filename', file.getOriginalFilename()); //用HttpEntity封裝整個請求報文 HttpEntity<MultiValueMap<String, Object>> files = new HttpEntity<>(form, headers); String flag = restTemplate.postForObject(url, files, String.class); return flag; }

3.HttpClient

1.使用httpclient的話首先要引入pom文件坐標。

<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.6</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpmime</artifactId> <version>4.5.6</version> </dependency>

3.HttpClient遠程調用文件傳輸

1.httpclient這段代碼有要用的小伙伴直接粘過去就能用注意一下返回值自己改一下就行execute.getEntity()

@SneakyThrows private String gettesthttpclient(MultipartFile file, String url) { CloseableHttpClient httpclient = HttpClients.createDefault(); RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(10000).setConnectTimeout(5000).build(); HttpPost httpPost = new HttpPost(url); MultipartEntityBuilder entityBuilder = MultipartEntityBuilder.create(); // 解決中文文件名亂碼問題 entityBuilder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); entityBuilder.setCharset(Consts.UTF_8); ContentType contentType = ContentType.create(ContentType.TEXT_PLAIN.getMimeType(), Consts.UTF_8); entityBuilder.addBinaryBody('file', file.getInputStream(), ContentType.DEFAULT_BINARY, file.getOriginalFilename()); httpPost.setEntity(entityBuilder.build()); httpPost.setConfig(requestConfig); HttpResponse execute = httpclient.execute(httpPost); String flag = EntityUtils.toString(execute.getEntity()); return flag; }

總結

遠程調用使用了RestTemplate和httpclient也可以使用feign,但是RestTemplate和feign大文件會OOM,httpclient不會所以大家可以根據自己場景去選擇。

關于springboot 中使用httpclient或RestTemplate做MultipartFile文件跨服務傳輸的問題

到此這篇關于關于springboot 中使用httpclient或RestTemplate做MultipartFile文件跨服務傳輸的問題的文章就介紹到這了,更多相關springboot MultipartFile文件跨服務傳輸內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩av电影一区| 亚洲欧美日韩高清在线| 免费一级欧美片在线观看网站| 啪啪国产精品| 欧美精品国产一区| 亚洲一区不卡| 久久久水蜜桃av免费网站| 国产精品久av福利在线观看| 日韩视频久久| 国产精品蜜芽在线观看| 国产欧美在线| 一区二区国产精品| 欧美二三四区| 免费在线亚洲欧美| 日韩一区二区三区四区五区| 最新国产拍偷乱拍精品| 久久久精品五月天| 婷婷激情一区| 亚洲性色av| 日韩电影免费网站| 日韩欧美一区二区三区在线视频| 国产精品一区二区美女视频免费看| 中文字幕一区二区三区在线视频| 99视频精品视频高清免费| 色偷偷偷在线视频播放| 国产精品theporn| 日韩精品导航| 亚洲18在线| 中文字幕日韩高清在线| 成人精品视频| 日韩欧美中文| 国产成人精品999在线观看| 久久国产三级| re久久精品视频| 久久福利一区| 精品国产欧美日韩| 欧美一区二区性| 婷婷久久免费视频| 日韩精品一区二区三区中文 | 日韩激情综合| 99精品视频在线观看免费播放| aa亚洲婷婷| 国内不卡的一区二区三区中文字幕| 亚洲在线观看| 色婷婷精品视频| 精品视频久久| 欧美极品中文字幕| 国产美女视频一区二区| 在线一区二区三区视频| 五月婷婷亚洲| 国产视频一区二| 欧美日韩中文字幕一区二区三区| 五月天久久777| 欧美色综合网| 久久精品福利| 99精品一区| 亚洲久久视频| 日韩综合精品| 欧美一区=区三区| 久久久久美女| 欧美亚洲三级| 狠狠色综合网| 精品国产免费人成网站| 色综合视频一区二区三区日韩 | 国产高清久久| 国产精品一区二区三区av| 91精品综合| 国产探花在线精品一区二区| 欧美va天堂| 98精品久久久久久久| 99热精品在线| 国产精品99在线观看| 四虎精品永久免费| 亚洲精品小说| 一区二区三区四区日本视频| 日本一区二区三区视频在线看| 高清一区二区三区av| 欧美日韩网址| 日韩精品一页| 青草国产精品久久久久久| 亚洲一区二区三区四区电影 | 免费视频亚洲| 久久久久免费| 国产精品成人一区二区不卡| 日韩综合精品| 免费在线观看一区二区三区| 国产精品欧美日韩一区| 婷婷亚洲成人| 欧美精品高清| 欧美在线黄色| 每日更新成人在线视频| 国产尤物精品| 国产欧美一区二区三区精品观看 | 日韩福利一区| 久久国产免费看| 丝袜国产日韩另类美女| 麻豆视频观看网址久久| 日韩精品一页| 石原莉奈在线亚洲二区| 欧洲av一区二区| 久久久久久亚洲精品美女| 日韩1区2区3区| 亚洲天堂日韩在线| 精品中文一区| 亚洲黄色免费av| 国产精品.xx视频.xxtv| 石原莉奈在线亚洲三区| 欧美日韩视频免费观看| 福利一区和二区| 欧美黄色一区二区| 国产日韩欧美中文在线| 亚洲专区视频| 中文字幕亚洲影视| 99国产精品久久久久久久成人热| 久久影院一区| 日韩中文字幕高清在线观看| 高清一区二区三区av| 麻豆中文一区二区| 国产精品亚洲产品| 国产精品3区| www在线观看黄色| 国产传媒av在线| 秋霞国产精品| 国产亚洲毛片在线| 亚洲综合图色| 国产亚洲欧美日韩在线观看一区二区 | 欧美69视频| 视频一区国产视频| 91精品尤物| 日日摸夜夜添夜夜添国产精品| 日韩精品一区二区三区免费视频| 日本少妇一区二区| 精品视频网站| 欧美中文一区二区| 免费日韩av| 亚洲乱码久久| 国产一区不卡| 久久一二三区| 国产精品1区| 欧美日韩国产综合网| 久久狠狠亚洲综合| 精品免费av在线| 男女激情视频一区| 精品一二三区| 一区在线观看| www.51av欧美视频| 国产伦精品一区二区三区千人斩| 神马久久午夜| 亚洲一级淫片| 性欧美xxxx免费岛国不卡电影| 日本h片久久| 另类中文字幕国产精品| 国产精品久久久久久久久久齐齐 | 在线亚洲欧美| 久久国产精品免费精品3p| 国产一在线精品一区在线观看| 中文字幕日韩高清在线| 久久精品高清| 超碰99在线| 美日韩精品视频| 国际精品欧美精品| 亚洲精品成人图区| 视频一区二区三区中文字幕| 国产乱码精品一区二区三区四区 | 久久国内精品视频| 天堂成人免费av电影一区| 深夜福利视频一区二区| 欧美激情三区| 国产精品久久久一区二区| 蜜臀av一区二区三区| 亚洲女同中文字幕| 欧美精品一区二区久久| 久久天堂精品| 久久激情婷婷| 欧美精品一二| 欧美在线影院| 亚洲专区欧美专区| 免费欧美在线视频| 免费黄网站欧美| 亚洲精品美女91| 日韩精彩视频在线观看| 91成人在线网站| 欧美激情在线精品一区二区三区| 国产精品视频首页| 美女久久久久久| 国产精品自拍区| 国产成人a视频高清在线观看| 中文在线中文资源| 神马日本精品| 先锋影音国产一区| 久久国产精品99国产| 欧美在线看片| 亚洲精品极品少妇16p| 国产精品入口久久| 国产精品毛片在线| 久久精品99国产精品| 亚洲精品一区二区在线播放∴| 日本免费在线视频不卡一不卡二| 亚洲综合婷婷| 久久精品99久久久|