這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)利用Spring Boot 2.x 實(shí)現(xiàn)一個(gè)文件上傳功能,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
第一步:創(chuàng)建一個(gè)基礎(chǔ)的Spring Boot項(xiàng)目
第二步:在pom.xml
中引入模版引擎依賴:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
你也可以選擇其他你熟悉的模版引擎,比如:Freemarker。
第三步:在resources
目錄下,創(chuàng)建新目錄templates
;在templates
目錄下再創(chuàng)建一個(gè)文件上傳的頁(yè)面upload.html
,內(nèi)容如下:
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8" /> <title>文件上傳頁(yè)面</title> </head> <body> <h2>文件上傳頁(yè)面</h2> <form method="post" action="/upload" enctype="multipart/form-data"> 選擇要上傳的文件:<input type="file" name="file"><br> <hr> <input type="submit" value="提交"> </form> </body> </html>
第四步:創(chuàng)建文件上傳的處理控制器,命名為UploadController
@Controller @Slf4j public class UploadController { @Value("${file.upload.path}") private String path; @GetMapping("/") public String uploadPage() { return "upload"; } @PostMapping("/upload") @ResponseBody public String create(@RequestPart MultipartFile file) throws IOException { String fileName = file.getOriginalFilename(); String filePath = path + fileName; File dest = new File(filePath); Files.copy(file.getInputStream(), dest.toPath()); return "Upload file success : " + dest.getAbsolutePath(); } }
其中包含這幾個(gè)重要元素:
成員變量path
,通過@Value
注入配置文件中的file.upload.path
屬性。這個(gè)配置用來定義文件上傳后要保存的目錄位置。
GET請(qǐng)求,路徑/
,用于顯示upload.html
這個(gè)文件上傳頁(yè)面。
POST請(qǐng)求。路徑/upload
,用于處理上傳的文件,即:保存到file.upload.path
配置的路徑下面。
注意:這里主要演示文件上傳的主要流程,真實(shí)應(yīng)用還有更多內(nèi)容要考慮,比如:文件上傳后的文件名處理(防止重名)、分布式情況下文件上傳后如何共享訪問等。更高級(jí)的最后,我們后續(xù)文章繼續(xù)講。
第五步:編輯application.properties
配置文件
spring.servlet.multipart.max-file-size=2MB spring.servlet.multipart.max-request-size=2MB file.upload.path=/Users/didi/
前兩個(gè)參數(shù)用于限制了上傳請(qǐng)求和上傳文件的大小,而file.upload.path
是上面我們自己定義的用來保存上傳文件的路徑。
第一步:?jiǎn)?dòng)Spring Boot應(yīng)用,訪問http://localhost:8080
,可以看到如下的文件上傳頁(yè)面。
第二步:選擇一個(gè)不大于2MB的文件,點(diǎn)擊“提交”按鈕,完成上傳。
如果上傳成功,將顯示類似下面的頁(yè)面:
上述就是小編為大家分享的利用Spring Boot 2.x 實(shí)現(xiàn)一個(gè)文件上傳功能了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
當(dāng)前名稱:利用SpringBoot2.x實(shí)現(xiàn)一個(gè)文件上傳功能-創(chuàng)新互聯(lián)
本文路徑:http://chinadenli.net/article46/dgiheg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)站營(yíng)銷、面包屑導(dǎo)航、移動(dòng)網(wǎng)站建設(shè)、定制網(wǎng)站、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容