欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

// 引入pom依賴, hutool相關文檔, 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ù)中的鍵指定(默認file),值設為文件對象即可,對于使用者來說,文件上傳與普通表單提交并無區(qū)別
paramMap.put("file", FileUtil.file("C:\\文件路徑\\文件名稱"));
String result = HttpUtil.post("服務端IP:端口", paramMap);

Java服務端接收請求并實現(xiàn)文件的存儲

工具類

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、保存到臨時文件
      // 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 {
      // 完畢,關閉所有鏈接
      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";
  }
}

注意:

文件較大時spring-boot 服務端報上傳文件錯誤“spring.servlet.multipart.max-file-size”

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

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

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

相關文章

  • springboot 中 inputStream 神秘消失之謎(終破)

    springboot 中 inputStream 神秘消失之謎(終破)

    這篇文章主要介紹了springboot 中 inputStream 神秘消失之謎,為了能夠把這個問題說明,我們首先需要從簡單的http調(diào)用說起,通過設置body等一些操作,具體實現(xiàn)代碼跟隨小編一起看看吧
    2021-08-08
  • Java學習基礎之安裝JDK/配置JDK環(huán)境&IEDA工具安裝

    Java學習基礎之安裝JDK/配置JDK環(huán)境&IEDA工具安裝

    這篇文章主要介紹了Java學習基礎系列文章的第一篇,主要內(nèi)容是安裝JDK/配置JDK環(huán)境&IEDA工具安裝的相關資料,需要的朋友可以參考下
    2020-02-02
  • Java讀取Excel、docx、pdf和txt等文件萬能方法舉例

    Java讀取Excel、docx、pdf和txt等文件萬能方法舉例

    在Java開發(fā)中處理文件是常見需求,本文以實際代碼示例詳述如何使用ApachePOI庫及其他工具讀取和寫入Excel、Word、PDF等文件,介紹了ApachePOI、ApachePDFBox和EasyExcel等庫的使用方法,幫助開發(fā)者有效讀取不同格式文件,需要的朋友可以參考下
    2024-09-09
  • SpringBoot中緩存注解的使用詳解

    SpringBoot中緩存注解的使用詳解

    為了實現(xiàn)緩存,Spring?Boot?提供了一些緩存注解,可以方便地實現(xiàn)緩存功能,這篇文章主要介紹了SpringBoot中常用的緩存注解的使用方法,需要的可以參考一下
    2023-06-06
  • ZooKeeper入門教程二在單機和集群環(huán)境下的安裝搭建及使用

    ZooKeeper入門教程二在單機和集群環(huán)境下的安裝搭建及使用

    本文是ZooKeeper入門系列教程,涵蓋ZooKeeper的安裝使及單機集群環(huán)境搭建,通過實例和大量圖表,結(jié)合實戰(zhàn),幫助學習者理解和運用,有需要的朋友可以借鑒參考下
    2022-01-01
  • MyBatis Generator的簡單使用方法示例

    MyBatis Generator的簡單使用方法示例

    這篇文章主要給大家介紹了關于MyBatis Generator的簡單使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • java如何在項目中實現(xiàn)excel導入導出功能

    java如何在項目中實現(xiàn)excel導入導出功能

    這篇文章主要介紹了java如何在項目中實現(xiàn)excel導入導出功能的相關資料,EasyExcel是一個基于Apache?POI開發(fā)的開源Java庫,用于簡化Excel文件的讀寫操作,文中將用法介紹的非常詳細,需要的朋友可以參考下
    2024-10-10
  • 基于java實現(xiàn)websocket代碼示例

    基于java實現(xiàn)websocket代碼示例

    這篇文章主要介紹了基于java實現(xiàn)websocket代碼示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-12-12
  • 你所不知道的Spring的@Autowired實現(xiàn)細節(jié)分析

    你所不知道的Spring的@Autowired實現(xiàn)細節(jié)分析

    這篇文章主要介紹了你所不知道的Spring的@Autowired實現(xiàn)細節(jié)分析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Java中的異常處理(try,catch,finally,throw,throws)

    Java中的異常處理(try,catch,finally,throw,throws)

    本文主要介紹了Java中的異常處理,文章主要介紹的異常處理包括5個關鍵字try,catch,finally,throw,throws,更多詳細內(nèi)容需要的朋友可以參考一下
    2022-06-06

最新評論