SpringBoot簡(jiǎn)單實(shí)現(xiàn)文件上傳
前言:
這里給大家介紹如何在SpringBoot項(xiàng)目中實(shí)現(xiàn)文件上傳功能!
1.創(chuàng)建SpringBoot項(xiàng)目
打開IDEA,點(diǎn)擊文件,選擇新建項(xiàng)目,點(diǎn)擊Spring Initializr,然后根據(jù)自己的需求設(shè)置項(xiàng)目名稱,位置以及JDK。這里需要注意,服務(wù)器的URL最好設(shè)置為阿里云服務(wù)器,這樣可以使得項(xiàng)目加載地更快。

點(diǎn)擊下一步后,勾選Spring Web依賴與Thymeleaf模板引擎后點(diǎn)擊完成即可。

2.修改application.properties配置文件
因?yàn)镾pringBoot項(xiàng)目中默認(rèn)文件的最大上傳大小為1MB,而1MB的上傳容量無法滿足我們開發(fā)工程中的文件上傳需求,因此我們需要修改配置文件。
# 設(shè)置上傳文件的大小為10MB spring.servlet.multipart.max-file-size=10MB
3.編寫控制器UserController類
這里需要注意的是,使用MultipartFile類來處理接受前端上傳的文件,通過它可以獲取文件的名稱,類型,大小等等信息。
package com.xing.springbootfileupload.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
@Controller
public class UserController {
@RequestMapping("/")
public String welcome(){
return "index";
}//這里相當(dāng)于設(shè)置歡迎頁
@RequestMapping("/upload")
@ResponseBody
public String upload(String name, MultipartFile phone) throws IOException {//實(shí)現(xiàn)文件上傳
System.out.println("上傳的用戶名為:"+name);
System.out.println("圖像的原始名稱為:"+phone.getOriginalFilename());
System.out.println("上傳文件的類型為:"+phone.getContentType());
saveFile(phone);
return "文件上傳成功";
}
public void saveFile(MultipartFile phone) throws IOException {//將文件保存到本地
String dir="這里寫自己要保存圖片的絕對(duì)路徑";//建議這里寫resources目錄的絕對(duì)路徑
File path=new File(dir+"/upload/");
if(!path.exists()){//如果當(dāng)前目錄不存在
path.mkdir();
}
File file=new File(dir+"/upload/"+phone.getOriginalFilename());
phone.transferTo(file);//將此圖像保存到file本地
}
}4.編寫前端頁面index.html
編寫表單的時(shí)候要注意,我們一定要寫enctype=“multipart/form-data” 來控制文件的編碼,否則文件會(huì)上傳失??!
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>歡迎頁</title>
</head>
<body>
<h1>請(qǐng)自行上傳用戶名與圖像</h1>
<hr>
<form enctype="multipart/form-data" method="post" th:action="@{/upload}">
<p>用戶名:<input type="text" name="name"></p>
<p>用戶名:<input type="file" name="phone"></p>
<input type="submit" value="上傳">
</form>
</body>
</html>5.效果展示
直接運(yùn)行SpringBoot啟動(dòng)類,運(yùn)行結(jié)果如下所示:

選擇合適的用戶名與圖片文件后,點(diǎn)擊上傳即可看見瀏覽器顯示上傳成功!

并且可以在后臺(tái)看見上傳文件的相關(guān)信息。

到此這篇關(guān)于SpringBoot簡(jiǎn)單實(shí)現(xiàn)文件上傳的文章就介紹到這了,更多相關(guān)SpringBoot文件上傳內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot定時(shí)任務(wù)不起作用問題及解決
文章主要介紹了Spring Boot中延遲加載bean的概念,并討論了如何解決定時(shí)任務(wù)不執(zhí)行的問題,通過設(shè)置`@Lazy(false)`注解,可以指定某些類不使用延遲加載,從而解決定時(shí)任務(wù)無法執(zhí)行的問題2024-11-11
SpringBoot實(shí)現(xiàn)防止XSS攻擊的示例詳解
這篇文章主要為大家詳細(xì)介紹了SpringBoot如何實(shí)現(xiàn)防止XSS攻擊,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03
java 注解annotation的使用以及反射如何獲取注解
這篇文章主要介紹了java 注解annotation的使用以及反射如何獲取注解的相關(guān)資料,需要的朋友可以參考下2017-01-01
Java Scala數(shù)據(jù)類型與變量常量及類和對(duì)象超詳細(xì)講解
本文內(nèi)容主要分為3節(jié),依次講解:Scala的數(shù)據(jù)類型有哪些? 變量常量如何使用? 類和對(duì)象如何理解? 受限于博主的大腦容量,大概是無法做到事無巨細(xì)的,不過其實(shí)也沒必要那么"細(xì)",抓住主要脈絡(luò),加上大量的練習(xí),融會(huì)貫通只不過是時(shí)間的問題2022-12-12
提升java開發(fā)效率工具lombok使用爭(zhēng)議
這篇文章主要介紹了提升java開發(fā)效率工具lombok使用爭(zhēng)議到底該不該使用的分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
SpringBoot集成WebSocket的兩種方式(JDK內(nèi)置版和Spring封裝版)
這篇文章主要介紹了SpringBoot集成WebSocket的兩種方式,這兩種方式為JDK內(nèi)置版和Spring封裝版,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06
Java selenium處理極驗(yàn)滑動(dòng)驗(yàn)證碼示例
本篇文章主要介紹了Java selenium處理極驗(yàn)滑動(dòng)驗(yàn)證碼示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10

