最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java客戶端服務(wù)端上傳接收文件實(shí)現(xiàn)詳解

 更新時(shí)間:2020年07月07日 09:48:36   作者:Nonevx  
這篇文章主要介紹了Java客戶端服務(wù)端上傳接收文件實(shí)現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

Java客戶端通過HTTP協(xié)議上傳文件, 服務(wù)端處理客戶端請(qǐng)求, MultipartFile轉(zhuǎn)File, 實(shí)現(xiàn)客戶端上傳文件的存儲(chǔ)

Java環(huán)境: JDK1.8
開發(fā)環(huán)境: IDEA
SpringBoot: 2.2.0
Maven: 3.6.3

Java客戶端通過HTTP協(xié)議上傳文件

// 引入pom依賴, hutool相關(guān)文檔, https://www.hutool.cn/docs/
<dependency>
  <groupId>cn.hutool</groupId>
  <artifactId>hutool-all</artifactId>
  <version>5.3.7</version>
</dependency>
HashMap<String, Object> paramMap = new HashMap<>();
//文件上傳只需將參數(shù)中的鍵指定(默認(rèn)file),值設(shè)為文件對(duì)象即可,對(duì)于使用者來說,文件上傳與普通表單提交并無區(qū)別
paramMap.put("file", FileUtil.file("C:\\文件路徑\\文件名稱"));
String result = HttpUtil.post("服務(wù)端IP:端口", paramMap);

Java服務(wù)端接收請(qǐng)求并實(shí)現(xiàn)文件的存儲(chǔ)

工具類

public class Utils {
  public static void saveFile( MultipartFile filecontent){
    OutputStream os = null;
    InputStream inputStream = null;
    String fileName = null;
    try {
      inputStream = filecontent.getInputStream();
      fileName = filecontent.getOriginalFilename();
    } catch (IOException e) {
      e.printStackTrace();
    }
    try {
      String path = "C:\\test\\";
      // 2、保存到臨時(shí)文件
      // 1K的數(shù)據(jù)緩沖
      byte[] bs = new byte[1024];
      // 讀取到的數(shù)據(jù)長度
      int len;
      // 輸出的文件流保存到本地文件
      File tempFile = new File(path);
      if (!tempFile.exists()) {
        tempFile.mkdirs();
      }
      os = new FileOutputStream(tempFile.getPath() + File.separator + fileName);
      // 開始讀取
      while ((len = inputStream.read(bs)) != -1) {
        os.write(bs, 0, len);
      }
    } catch (IOException e) {
      e.printStackTrace();
    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      // 完畢,關(guān)閉所有鏈接
      try {
        os.close();
        inputStream.close();
      } catch (IOException e) {
        e.printStackTrace();
      }
    }
  }
}

Controller類

@Controller
public class FileController {
  @RequestMapping("/")
  @ResponseBody
  public String index(@RequestParam(value = "file", required = false) MultipartFile file, HttpServletRequest request, HttpServletResponse response) throws IOException {
    Utils.saveFile(file);
    return "Success";
  }
}

注意:

文件較大時(shí)spring-boot 服務(wù)端報(bào)上傳文件錯(cuò)誤“spring.servlet.multipart.max-file-size”

可以修改配置文件: application.properties, 添加以下配置..大小自行修改...

spring.servlet.multipart.max-file-size=200MB
spring.servlet.multipart.max-request-size=200MB

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何利用Stream改變list中特定對(duì)象的某一屬性

    如何利用Stream改變list中特定對(duì)象的某一屬性

    這篇文章主要介紹了如何利用Stream改變list中特定對(duì)象的某一屬性問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java適配器模式應(yīng)用之電源適配器功能詳解

    Java適配器模式應(yīng)用之電源適配器功能詳解

    這篇文章主要介紹了Java適配器模式應(yīng)用之電源適配器功能,較為詳細(xì)的分析了適配器模式的概念、原理及Java基于適配器模式實(shí)現(xiàn)電源適配器功能的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-05-05
  • JavaWeb實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(2)

    JavaWeb實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(2)

    這篇文章主要介紹了JavaWeb實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)的第二篇,實(shí)現(xiàn)學(xué)生管理系統(tǒng)的查找和添加功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Java裝飾者模式的示例詳解

    Java裝飾者模式的示例詳解

    裝飾者模式:在不改變?cè)袑?duì)象的基礎(chǔ)之上,動(dòng)態(tài)的將功能附加到對(duì)象上,提供了繼承更有彈性的替代方案,也體現(xiàn)了開閉原則。本文將通過示例詳細(xì)講解一下裝飾者模式,需要的可以參考一下
    2022-02-02
  • Java try-with-resource語法使用解析

    Java try-with-resource語法使用解析

    這篇文章主要介紹了Java try-with-resource語法使用解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • SpringBoot?@DS注解實(shí)現(xiàn)多數(shù)據(jù)源配置以及問題解決辦法

    SpringBoot?@DS注解實(shí)現(xiàn)多數(shù)據(jù)源配置以及問題解決辦法

    這篇文章主要給大家介紹了關(guān)于SpringBoot?@DS注解實(shí)現(xiàn)多數(shù)據(jù)源配置以及問題解決辦法,所謂多數(shù)據(jù)源就是一個(gè)Java EE項(xiàng)目中采用了不同數(shù)據(jù)庫實(shí)例中的多個(gè)庫,或者是同一個(gè)數(shù)據(jù)庫實(shí)例中的多個(gè)不同庫,需要的朋友可以參考下
    2023-11-11
  • Java如何使用elasticsearch進(jìn)行模糊查詢

    Java如何使用elasticsearch進(jìn)行模糊查詢

    這篇文章主要介紹了Java如何使用elasticsearch進(jìn)行模糊查詢,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 詳解java之redis篇(spring-data-redis整合)

    詳解java之redis篇(spring-data-redis整合)

    本篇文章主要介紹了java之redis篇,主要詳細(xì)的介紹了spring-data-redis整合,有興趣的可以了解一下。
    2017-01-01
  • 基于SpringBoot實(shí)現(xiàn)自動(dòng)裝配返回屬性的設(shè)計(jì)思路

    基于SpringBoot實(shí)現(xiàn)自動(dòng)裝配返回屬性的設(shè)計(jì)思路

    這篇文章主要介紹了基于SpringBoot實(shí)現(xiàn)自動(dòng)裝配返回屬性,這里涉及到的技術(shù)知識(shí)點(diǎn)有注解解析器,為什么用ResponseBodyAdvice這里解析?不在Filter,Interceptors,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-03-03
  • 解決Springboot @WebFilter攔截器未生效問題

    解決Springboot @WebFilter攔截器未生效問題

    這篇文章主要介紹了解決Springboot @WebFilter攔截器未生效問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10

最新評(píng)論

遂昌县| 清苑县| 铜鼓县| 博罗县| 广州市| 郴州市| 民权县| 满城县| 顺昌县| 克拉玛依市| 灵山县| 乐陵市| 西乡县| 兴业县| 锦州市| 崇阳县| 亚东县| 井冈山市| 泰来县| 金川县| 乡宁县| 沂源县| 哈尔滨市| 深圳市| 金山区| 兖州市| 长沙市| 南通市| 甘德县| 青河县| 拉孜县| 阿克陶县| 龙口市| 乃东县| 隆昌县| 益阳市| 石狮市| 隆德县| 炉霍县| 怀远县| 新干县|