springboot中實(shí)現(xiàn)上傳文件的功能簡(jiǎn)單示例
在Spring Boot中實(shí)現(xiàn)文件上傳可以通過以下步驟:
配置文件上傳相關(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ī)的文件名來替代原文件名
@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()); } ? ? } }
配置文件上傳限制:通過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)文章
SpringBoot讀取properties中文亂碼解決方案
本文主要介紹了在Spring?Boot中讀取帶有中文字符串的application.properties文件時(shí)遇到亂碼問題的解決方案,具有一定的參考價(jià)值,感興趣的可以了解一下2024-12-12基于SpringBoot和Vue3的博客平臺(tái)文章詳情與評(píng)論功能實(shí)現(xiàn)
在前面的教程中,我們已經(jīng)實(shí)現(xiàn)了基于Spring Boot和Vue3的發(fā)布、編輯、刪除文章功能以及文章列表與分頁(yè)功能。本教程將引導(dǎo)您實(shí)現(xiàn)博客平臺(tái)的文章詳情與評(píng)論功能,需要的朋友可以參考一下2023-04-04SSH框架網(wǎng)上商城項(xiàng)目第24戰(zhàn)之Struts2中處理多個(gè)Model請(qǐng)求的方法
這篇文章主要為大家詳細(xì)介紹了SSH框架網(wǎng)上商城項(xiàng)目第24戰(zhàn)之Struts2中處理多個(gè)Model請(qǐng)求的方法,感興趣的小伙伴們可以參考一下2016-06-06java 對(duì)象參數(shù)去空格方式代碼實(shí)例
這篇文章主要介紹了java 對(duì)象參數(shù)去空格方式代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10Elasticsearch?自動(dòng)重啟腳本創(chuàng)建實(shí)現(xiàn)
這篇文章主要為大家介紹了Elasticsearch?自動(dòng)重啟腳本創(chuàng)建實(shí)現(xiàn)詳解分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08JSON.toJSONString()方法在Java中的使用方法及應(yīng)用場(chǎng)景
這篇文章主要給大家介紹了關(guān)于JSON.toJSONString()方法在Java中的使用方法及應(yīng)用場(chǎng)景,JSON.toJSONString是將對(duì)象轉(zhuǎn)化為Json字符串,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04深入理解java動(dòng)態(tài)代理的兩種實(shí)現(xiàn)方式(JDK/Cglib)
本篇文章主要介紹了java動(dòng)態(tài)代理的兩種實(shí)現(xiàn)方式,詳細(xì)的介紹了JDK和Cglib的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,有興趣的可以了解一下2017-04-04