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

spring?boot實(shí)現(xiàn)圖片上傳到后臺的功能(瀏覽器可直接訪問)

 更新時(shí)間:2022年04月24日 10:26:33   作者:紙照片  
這篇文章主要介紹了spring?boot實(shí)現(xiàn)圖片上傳到后臺的功能(瀏覽器可直接訪問),需要的朋友可以參考下

1. 配置上傳文件最大數(shù)值

默認(rèn)情況下,在spring boot嵌入的tomcat限制了上傳文件的大小,在spring boot的我官方文檔中說明,每個(gè)文件的最大配置為1Mb,單次請求的總文件數(shù)不能大于10Mb。

這意味著如果你上傳的圖片大于1Mb,會被攔截下來,無法正常保存到后臺,并拋出一個(gè)錯誤,返回狀態(tài)碼:500。

The field file exceeds its maximum permitted size of 1048576 bytes.

需要根據(jù)實(shí)際情況更改這兩個(gè)數(shù)值。(yaml配置文件)

spring:
  servlet:
    multipart:
      enabled: true
      max-file-size: 10MB
      max-request-size: 100MB

2. 配置虛擬路徑映射

后端程序接收到圖片資源后,會將圖片保存到硬盤中的一個(gè)路徑下,如果我們想通過URL直接訪問到圖片資源,就需要配置一個(gè)虛擬路徑去映射這個(gè)真實(shí)存在的物理路徑。

同樣是在配置文件中,添加物理存儲路徑以及映射到項(xiàng)目中的虛擬路徑。

SavePath:
  ProfilePhoto: 'D:\Test\ProfilePhoto\'  #圖標(biāo)存儲路徑
  ProfilePhotoMapper: '/profilePhoto/'  #圖標(biāo)的映射路徑

添加一個(gè)spring boot配置程序,這樣就形成了一對映射關(guān)系。

@Configuration
public class SpringbootConfigure implements WebMvcConfigurer {
    //@Value可以將配置文件的內(nèi)容自動注入到屬性內(nèi)
    @Value("${SavePath.ProfilePhoto}")
    private String ProfilePhotoPath;   //圖標(biāo)物理存儲路徑
    @Value("${SavePath.ProfilePhotoMapper}")
    private String ProfilePhotoMapperPath;   //圖標(biāo)映射路徑
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry){
        registry.addResourceHandler(ProfilePhotoMapperPath+"**").addResourceLocations("file:"+ProfilePhotoPath);
    }
}

3. 編寫controller程序

作示例使用,具體的返回?cái)?shù)據(jù)自行改寫。

@Value("${SavePath.ProfilePhoto}")
private String ProfilePhotoSavePath;   //圖標(biāo)圖片存儲路徑
@Value("${SavePath.ProfilePhotoMapper}")
private String ProfilePhotoMapperPath;   //圖標(biāo)映射路徑

/**
	* 頭像上傳
     * @param fileUpload 圖片資源
     * @return 圖映射的虛擬訪問路徑
     */
@PostMapping("/api/profilePhotoUpload")
public String profilePhotoUpload(@RequestParam("file") MultipartFile fileUpload){
    //獲取文件名
    String fileName = fileUpload.getOriginalFilename();  
    //獲取文件后綴名。也可以在這里添加判斷語句,規(guī)定特定格式的圖片才能上傳,否則拒絕保存。
    String suffixName = fileName.substring(fileName.lastIndexOf("."));  
    //為了避免發(fā)生圖片替換,這里使用了文件名重新生成
    fileName = UUID.randomUUID()+suffixName;
    try {
        //將圖片保存到文件夾里
        fileUpload.transferTo(new File(ProfilePhotoSavePath+fileName));
        return ProfilePhotoMapperPath+fileName;
    } catch (Exception e) {
        e.printStackTrace();
        return "";
    }
}

4. 測試

上傳圖片有很多種方式,比如自行寫一段html,也可以使用idea自帶的http client工具

我這里使用apifox工具進(jìn)行測試.

數(shù)據(jù)類型使用form-data,參數(shù)寫"file",這個(gè)參數(shù)要與controller程序中寫的請求參數(shù)一致。參數(shù)類型選擇file,即文件上傳。

運(yùn)行接口測試,點(diǎn)擊apifox自帶的upload按鈕,選擇一個(gè)圖片上傳。

請求成功后,接收到回應(yīng)信息中的圖像映射路徑。

打開配置的存儲路徑,可以看到圖片已經(jīng)被保存。

測試url請求。注意這里的程序只響應(yīng)出了項(xiàng)目訪問路徑的可變部分,使用時(shí)需要與項(xiàng)目路徑的固定訪問路徑進(jìn)行拼接,也可以修改程序一并返回。

測試訪問成功??!

到此這篇關(guān)于spring boot實(shí)現(xiàn)圖片上傳到后臺的功能(瀏覽器可直接訪問)的文章就介紹到這了,更多相關(guān)spring boot圖片上傳到后臺內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用@PathVariable注解如何實(shí)現(xiàn)動態(tài)傳值

    使用@PathVariable注解如何實(shí)現(xiàn)動態(tài)傳值

    這篇文章主要介紹了使用@PathVariable注解如何實(shí)現(xiàn)動態(tài)傳值,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • postman?如何實(shí)現(xiàn)傳遞?ArrayList?給后臺

    postman?如何實(shí)現(xiàn)傳遞?ArrayList?給后臺

    這篇文章主要介紹了postman?如何實(shí)現(xiàn)傳遞?ArrayList給后臺,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • java bootclasspath的具體用法

    java bootclasspath的具體用法

    本文主要介紹了java bootclasspath的具體用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Java觀察者設(shè)計(jì)模式詳解

    Java觀察者設(shè)計(jì)模式詳解

    這篇文章主要為大家詳細(xì)介紹了Java觀察者設(shè)計(jì)模式,對觀察者設(shè)計(jì)模式進(jìn)行分析理解,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Java Redis Template批量查詢指定鍵值對的實(shí)現(xiàn)

    Java Redis Template批量查詢指定鍵值對的實(shí)現(xiàn)

    本文主要介紹了Java Redis Template批量查詢指定鍵值對的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Javac/javap 自帶工具簡單使用講解

    Javac/javap 自帶工具簡單使用講解

    這篇文章主要介紹了Javac/javap 自帶工具簡單使用講解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Spring注解配置實(shí)現(xiàn)過程詳解

    Spring注解配置實(shí)現(xiàn)過程詳解

    這篇文章主要介紹了Spring注解配置實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • java 創(chuàng)建線程的方法總結(jié)

    java 創(chuàng)建線程的方法總結(jié)

    這篇文章主要介紹了java 創(chuàng)建線程的方法總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Java向數(shù)據(jù)庫中插入數(shù)據(jù)后獲取自增ID的常用方法

    Java向數(shù)據(jù)庫中插入數(shù)據(jù)后獲取自增ID的常用方法

    有時(shí)候因?yàn)樾略龅男枨笮枰@取剛剛新增的數(shù)據(jù)的自增的主鍵ID,下面這篇文章主要給大家介紹了關(guān)于Java向數(shù)據(jù)庫中插入數(shù)據(jù)后獲取自增ID的常用方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • 工作中Java集合的規(guī)范使用操作詳解

    工作中Java集合的規(guī)范使用操作詳解

    這篇文章主要為大家詳細(xì)介紹了工作中Java集合使用時(shí)需要注意的規(guī)范,文中的示例代碼講解詳細(xì),對我們使用Java集合有一定的幫助,感興趣的可以了解一下
    2022-11-11

最新評論