欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot簡單實現(xiàn)文件上傳

 更新時間:2022年09月01日 16:34:07   作者:散一世繁華,顛半世琉璃  
這篇文章主要介紹了SpringBoot簡單實現(xiàn)文件上傳,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下

前言:

這里給大家介紹如何在SpringBoot項目中實現(xiàn)文件上傳功能!

1.創(chuàng)建SpringBoot項目

打開IDEA,點擊文件,選擇新建項目,點擊Spring Initializr,然后根據(jù)自己的需求設(shè)置項目名稱,位置以及JDK。這里需要注意,服務(wù)器的URL最好設(shè)置為阿里云服務(wù)器,這樣可以使得項目加載地更快。

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

2.修改application.properties配置文件

因為SpringBoot項目中默認文件的最大上傳大小為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 {//實現(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="這里寫自己要保存圖片的絕對路徑";//建議這里寫resources目錄的絕對路徑
        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

編寫表單的時候要注意,我們一定要寫enctype=“multipart/form-data” 來控制文件的編碼,否則文件會上傳失??!

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>歡迎頁</title>
</head>
<body>
<h1>請自行上傳用戶名與圖像</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.效果展示

直接運行SpringBoot啟動類,運行結(jié)果如下所示:

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

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

到此這篇關(guān)于SpringBoot簡單實現(xiàn)文件上傳的文章就介紹到這了,更多相關(guān)SpringBoot文件上傳內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入剖析Java中的各種異常處理方式

    深入剖析Java中的各種異常處理方式

    這篇文章主要介紹了深入剖析Java中的各種異常處理方式,是Java入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-07-07
  • SpringCloud+Redis實現(xiàn)Api接口限流防止惡意刷接口

    SpringCloud+Redis實現(xiàn)Api接口限流防止惡意刷接口

    接口限流是為了保護系統(tǒng)和服務(wù),防止因為過多的請求而崩潰,本文主要介紹了SpringCloud+Redis實現(xiàn)Api接口限流防止惡意刷接口,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • Mybatis中 XML配置詳解

    Mybatis中 XML配置詳解

    這篇文章主要介紹了Mybatis中 XML配置詳解的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-01-01
  • Spring Bean實例化實現(xiàn)過程解析

    Spring Bean實例化實現(xiàn)過程解析

    這篇文章主要介紹了Spring Bean實例化實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • Java:不支持發(fā)行版本5的超詳細簡單解決方案

    Java:不支持發(fā)行版本5的超詳細簡單解決方案

    發(fā)行版本5是Java5,已經(jīng)是十多年前的版本了,現(xiàn)在已經(jīng)不再被支持,如果您使用的是舊版的Java開發(fā)工具,可能會出現(xiàn)這樣的錯誤,這篇文章主要給大家介紹了關(guān)于Java:不支持發(fā)行版本5的超詳細簡單解決方案,需要的朋友可以參考下
    2024-01-01
  • 淺談SpringBoot集成Quartz動態(tài)定時任務(wù)

    淺談SpringBoot集成Quartz動態(tài)定時任務(wù)

    這篇文章主要介紹了SpringBoot集成Quartz動態(tài)定時任務(wù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • java 設(shè)計模型之單例模式詳解

    java 設(shè)計模型之單例模式詳解

    本文主要介紹了java 單例模式,單例對象(Singleton)是一種常用的設(shè)計模式。在Java應(yīng)用中,單例對象能保證在一個JVM中,該對象只有一個實例存在,希望能幫助有需要的同學(xué)
    2016-07-07
  • Mybatis如何直接執(zhí)行SQL語句

    Mybatis如何直接執(zhí)行SQL語句

    這篇文章主要介紹了Mybatis如何直接執(zhí)行SQL語句,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Java鎖之自旋鎖詳解

    Java鎖之自旋鎖詳解

    這篇文章主要介紹了Java鎖之自旋鎖詳解,本文是系列文章的第一篇,請持續(xù)關(guān)注腳本之家java欄目,需要的朋友可以參考下
    2014-09-09
  • Java中的6種請求方式的示例詳解

    Java中的6種請求方式的示例詳解

    這篇文章主要詳細介紹了Java中的6種請求方式,@RequestParam、@PathVariable、@MatrixVariable、@RequestBody、@RequestHeader和@CookieValue的基本知識、詳細分析以及示例,需要的朋友可以參考下
    2024-07-07

最新評論