SpringBoot的單 多檔案上傳

2021-10-01 21:22:24 字數 2461 閱讀 5416

1.首先建立乙個springboot專案並新增 spring-boot-starter-web依賴,然後在resources目錄下的static目錄中建立乙個upload.html檔案,內容如下:

<

!doctype html>

"en"

>

"utf-8"

>

單檔案上傳<

/title>

<

/head>

乙個很簡單的檔案上傳頁面,上傳介面是 /upload,注意請求方法是post,enctype是 multipart/form-data

接著建立檔案上傳介面,**如下:

@restcontroller

public

class

fileuploadcontroller

string oldname = uploadfile.

getoriginalfilename()

;//舊名字

string newname =

uuid

.randomuuid()

.tostring()

+ oldname.

substring

(oldname.

lastindexof

("."

),oldname.

length()

);//新名字

trycatch

(exception e)

return

"上傳失敗!";}

}

然後執行專案,在瀏覽器測試輸入:http://localhost:8080/upload.html 進行檔案上傳,如圖:

單擊上傳按鈕進行上傳檔案,上傳成功後會返回上傳檔案的訪問路徑,如下圖:

然後訪問該路徑就可以看到剛才上傳的了,如下圖所示:

我們也可以對上傳進行一些配置,**如下:

#是否開啟檔案上傳支援

spring.servlet.multipart.enabled=

true

#檔案寫入磁碟的閾值

spring.servlet.multipart.file-size-threshold=

0#上傳檔案的臨時儲存位置

spring.servlet.multipart.location=

e:\\tempimg

#上傳的單個檔案的最大大小

spring.servlet.multipart.max-file-size=

5mb#多檔案上傳時檔案的總大小

spring.servlet.multipart.max-request-size=

10mb

#檔案是否延遲解析,預設為false

spring.servlet.multipart.resolve-lazily=

false

多檔案上傳與單檔案上傳**基本一致,**如下:

<

!doctype html>

"en"

>

"utf-8"

>

多檔案上傳<

/title>

<

/head>

控制層**如下:

@restcontroller

public

class

fileuploadcontroller

string oldname = uploadfile.

getoriginalfilename()

;//舊名字

string newname =

uuid

.randomuuid()

.tostring()

+ oldname.

substring

(oldname.

lastindexof

("."

),oldname.

length()

);//新名字

trycatch

(exception e)

}return list.

tostring()

;}else

if(uploadfiles.length ==0)

return

"上傳失敗!";}

}

Springboot多檔案上傳

springboot自身載入了multipartservletresolver解析器,無須引入commons io.jar commons fileupload.jar倆個jar包,而spring需要。因此可以直接使用 enableautoconfiguration exclude 通過multip...

實現springboot多檔案上傳的最佳方案

spingmvc支援檔案上傳,我們通過apach 的 commons fileupload 包的commonsmultipartresolver 去實現了 spingmvc的multipartresolver 本文章的示例是個簡單的多檔案上傳,根據不同的業務自行修改。commons fileuplo...

springboot 多環境配置檔案

springboot多環境配置檔案 在真實springboot專案中,存在很多環境 1.pro環境 生產環境,面向外部使用者的環境,連線上網際網路即可訪問的正式環境。2.pre環境 灰度環境,外部使用者可以訪問,但是伺服器配置相對低,其它和生產一樣。3.test環境 測試環境,外部使用者無法訪問,專...