SpringBoot如何上傳圖片
阿新 • • 發佈:2020-09-14
1.前端準備
<%@ 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.實現檔案上傳的步驟說明
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 上傳圖片的資料請關注我們其它相關文章!