springboot中實現(xiàn)上傳文件的功能簡單示例
在Spring Boot中實現(xiàn)文件上傳可以通過以下步驟:
配置文件上傳相關的依賴:在項目的pom.xml文件中,添加以下依賴:
<dependency> ? ? <groupId>org.springframework.boot</groupId> ? ? <artifactId>spring-boot-starter-web</artifactId> </dependency>
創(chuàng)建文件上傳接口:在一個控制器類中創(chuàng)建一個處理文件上傳的接口。
這里會將文件存儲到同一文件夾下。由于同一文件夾下不能出現(xiàn)重復的文件名,這里用uuid隨機生成一個隨機的文件名來替代原文件名
@RestController
public class FileUploadController {
? ? @PostMapping("/upload")
? ? public String uploadFile(@RequestParam("file") MultipartFile file) {
? ? ? ? if (file.isEmpty()) {
return ResponseEntity.badRequest().body("請選擇要上傳的文件");
}
try {
// 獲取原始文件名
String originalFilename = file.getOriginalFilename();
// 生成新的文件名,以防止文件名沖突
String newFilename = UUID.randomUUID().toString() + "_" + originalFilename;
// 文件保存路徑
String filePath = UPLOAD_DIRECTORY + newFilename;
// 保存文件到服務器
file.transferTo(new File(filePath));
// 返回文件上傳成功的相關信息
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());
}
? ? }
}配置文件上傳限制:通過application.properties或application.yml配置文件,設置文件上傳的一些限制。例如,可以設置最大文件大小、允許上傳的文件類型等。
application.yml配置例子:
spring: ? servlet: ? ? multipart: ? ? ? max-file-size: 10MB ? ? ? max-request-size: 10MB
創(chuàng)建文件上傳表單頁面:在前端創(chuàng)建一個可以選擇文件并提交上傳的表單頁面。
<!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>
總結
到此這篇關于springboot中實現(xiàn)上傳文件功能的文章就介紹到這了,更多相關springboot上傳文件內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java實現(xiàn)把excel xls中數(shù)據(jù)轉為可直接插入數(shù)據(jù)庫的sql文件
這篇文章主要介紹了Java實現(xiàn)把excel xls中數(shù)據(jù)轉為可直接插入數(shù)據(jù)庫的sql文件 的相關資料,需要的朋友可以參考下2016-03-03
Spring Boot自定義Banner實現(xiàn)代碼
這篇文章主要介紹了Spring Boot自定義Banner實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-01-01

