springboot中實(shí)現(xiàn)上傳文件的功能簡(jiǎn)單示例
在Spring Boot中實(shí)現(xiàn)文件上傳可以通過(guò)以下步驟:
配置文件上傳相關(guān)的依賴:在項(xiàng)目的pom.xml文件中,添加以下依賴:
<dependency> ? ? <groupId>org.springframework.boot</groupId> ? ? <artifactId>spring-boot-starter-web</artifactId> </dependency>
創(chuàng)建文件上傳接口:在一個(gè)控制器類中創(chuàng)建一個(gè)處理文件上傳的接口。
這里會(huì)將文件存儲(chǔ)到同一文件夾下。由于同一文件夾下不能出現(xiàn)重復(fù)的文件名,這里用uuid隨機(jī)生成一個(gè)隨機(jī)的文件名來(lái)替代原文件名
@RestController
public class FileUploadController {
? ? @PostMapping("/upload")
? ? public String uploadFile(@RequestParam("file") MultipartFile file) {
? ? ? ? if (file.isEmpty()) {
return ResponseEntity.badRequest().body("請(qǐng)選擇要上傳的文件");
}
try {
// 獲取原始文件名
String originalFilename = file.getOriginalFilename();
// 生成新的文件名,以防止文件名沖突
String newFilename = UUID.randomUUID().toString() + "_" + originalFilename;
// 文件保存路徑
String filePath = UPLOAD_DIRECTORY + newFilename;
// 保存文件到服務(wù)器
file.transferTo(new File(filePath));
// 返回文件上傳成功的相關(guān)信息
String message = "文件上傳成功\n";
message += "文件名: " + originalFilename + "\n";
message += "保存路徑: " + filePath;
return ResponseEntity.ok(message);
} catch (Exception e) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("文件上傳失敗: " + e.getMessage());
}
? ? }
}配置文件上傳限制:通過(guò)application.properties或application.yml配置文件,設(shè)置文件上傳的一些限制。例如,可以設(shè)置最大文件大小、允許上傳的文件類型等。
application.yml配置例子:
spring: ? servlet: ? ? multipart: ? ? ? max-file-size: 10MB ? ? ? max-request-size: 10MB
創(chuàng)建文件上傳表單頁(yè)面:在前端創(chuàng)建一個(gè)可以選擇文件并提交上傳的表單頁(yè)面。
<!DOCTYPE html> <html> <head> ? ? <title>File Upload Form</title> </head> <body> ? ? <h2>File Upload Form</h2> ? ? <form action="/upload" method="POST" enctype="multipart/form-data"> ? ? ? ? <input type="file" name="file" /> ? ? ? ? <button type="submit">Upload</button> ? ? </form> </body> </html>
總結(jié)
到此這篇關(guān)于springboot中實(shí)現(xiàn)上傳文件功能的文章就介紹到這了,更多相關(guān)springboot上傳文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java實(shí)現(xiàn)把excel xls中數(shù)據(jù)轉(zhuǎn)為可直接插入數(shù)據(jù)庫(kù)的sql文件
這篇文章主要介紹了Java實(shí)現(xiàn)把excel xls中數(shù)據(jù)轉(zhuǎn)為可直接插入數(shù)據(jù)庫(kù)的sql文件 的相關(guān)資料,需要的朋友可以參考下2016-03-03
Spring Boot自定義Banner實(shí)現(xiàn)代碼
這篇文章主要介紹了Spring Boot自定義Banner實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
一文徹底吃透SpringMVC中的轉(zhuǎn)發(fā)和重定向
大家應(yīng)該都知道springmvc本來(lái)就會(huì)把返回的字符串作為視圖名解析,然后轉(zhuǎn)發(fā)到對(duì)應(yīng)的視圖,這篇文章主要給大家介紹了關(guān)于SpringMVC中轉(zhuǎn)發(fā)和重定向的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04
解決Spring?AOP攔截抽象類(父類)中方法失效問(wèn)題
這篇文章主要介紹了解決Spring?AOP攔截抽象類(父類)中方法失效問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
Java實(shí)現(xiàn)Map集合二級(jí)聯(lián)動(dòng)示例
Java實(shí)現(xiàn)Map集合二級(jí)聯(lián)動(dòng)示例,需要的朋友可以參考下2014-03-03

