1. 程式人生 > 程式設計 >SpringBoot如何上傳圖片

SpringBoot如何上傳圖片

1.前端準備

SpringBoot如何上傳圖片

<%@ page language="java" contentType="text/html; charset=UTF-8" 
 pageEncoding="UTF-8"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Insert title here</title> 
</head> 
<body> 
  <h1>實現檔案長傳</h1> 
  <!--enctype="開啟多媒體標籤" --> 
  <form action="http://localhost:8091/filetest" method="post" 
 enctype="multipart/form-data"> 
   <input name="fileImage" type="file" /> 
   <input type="submit" value="提交"/> 
  </form> 
</body> 
</html>

2.實現檔案上傳的步驟說明

SpringBoot如何上傳圖片

package com.jt.controller; 
 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RestController; 
import org.springframework.web.multipart.MultipartFile; 
 
import java.io.File; 
import java.io.IOException; 
 
@RestController 
public class FileTestController { 
@RequestMapping("/filetest") 
 public String file(MultipartFile fileImage){ 
    
 String fileDir = "F:/CloudMusic/images"; 
 File file = new File(fileDir);
 if(!file.exists()){ 
 file.mkdirs(); 
 } 
 
    
 String fileName = fileImage.getOriginalFilename(); 
 File imageFile = new File(fileDir+"/"+fileName); 
  
 try { 
      fileImage.transferTo(imageFile);//Transfer the received file to the given destination file. 
 }catch(IOException e){ 
      e.printStackTrace(); 
    } 
      return "ok"; 
 
  } 
}

3.程式碼解釋

3.1 前提

MultipartFile是spring型別,代表HTML中form data方式上傳的檔案,包含二進位制資料+檔名稱。

public String file(MultipartFile fileImage){}
<form action="http://localhost:8091/filetest" method="post" 
 enctype="multipart/form-data"> 
   <input name="fileImage" type="file" /> 
   <input type="submit" value="提交"/> 
  </form>

3.2 封裝檔案的上傳路徑

封裝檔案上傳的路徑,如果檔案存在直接封裝,如果檔案不存在使用 file.mkdirs() 方法建立多級目錄

String fileDir = "F:/CloudMusic/images"; 
 File file = new File(fileDir);
 if(!file.exists()){ 
 file.mkdirs(); 
 }

3.3 封裝檔案的名稱

fileImage.getOriginalFilename()//Return the original filename in the client's filesystem. 返回客戶端檔案系統中的原始檔名。

String fileName = fileImage.getOriginalFilename(); 
 File imageFile = new File(fileDir+"/"+fileName);

3.4 檔案的上傳

fileImage.getOriginalFilename()//Transfer the received file to the given destination file. 將接收到的檔案傳輸到給定的目標檔案。

try { 
      fileImage.transferTo(imageFile);//Transfer the received file to the given destination file. 
 }catch(IOException e){ 
      e.printStackTrace(); 
    }

以上就是SpringBoot如何上傳圖片的詳細內容,更多關於SpringBoot 上傳圖片的資料請關注我們其它相關文章!