最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot3實(shí)現(xiàn)上傳圖片并返回路徑讓前端顯示圖片

 更新時(shí)間:2024年12月31日 10:14:39   作者:Harry技術(shù)  
這篇文章主要介紹了SpringBoot3實(shí)現(xiàn)上傳圖片并返回路徑讓前端顯示圖片,文中通過(guò)圖文和代碼講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下

Springboot 3 上傳圖片,并返回路徑讓前端顯示圖片

步驟:

1.利用SpringBoot寫一個(gè)圖片上傳接口

2.接收前端傳遞過(guò)來(lái)的圖片并保存到本地指定位置。

3.前端(瀏覽器)可以通過(guò)url訪問(wèn)上傳過(guò)的圖片

創(chuàng)建項(xiàng)目:

pom.xml 主要依賴

<properties>
    <java.version>17</java.version>
</properties>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
</dependencies>

application.yml 配置一個(gè)圖片上傳地址,方便后續(xù)更改路徑

upload:
  # 圖片保存路徑
  path: E:\img

寫一個(gè)FileController用來(lái)接收前端提交的圖片文件,并把圖片保存到服務(wù)器的指定位置

/**
 * @author harry
 * @公眾號(hào) Harry技術(shù)
 */
@RestController
@RequestMapping("/upload")
public class FileController {

    @Value("${upload.path}")
    private String uploadPath;


    @PostMapping
    public String uploadFile(@RequestParam("file") MultipartFile file) {
        try {

            if (file.isEmpty()) {
                return "文件為空,請(qǐng)重新選擇!";
            }
            // 上傳的圖片
            File path = new File(uploadPath);
            if (!path.exists()) {
                // 創(chuàng)建完整的目錄
                path.mkdirs();
            }
            // 獲取文件原始名(包含后綴名)
            String originalName = file.getOriginalFilename();
            // 獲取文件名(不包括后綴)
            String prefixName = originalName.substring(0, originalName.lastIndexOf("."));
            // 獲取文件后綴 (包括.) 例如:.png
            String suffixName = originalName.substring(originalName.lastIndexOf("."));
            // 這是處理后的新文件名
            String fileName;
            if (originalName.contains(".")) {
                // 示例:avatar.123.png,經(jīng)過(guò)處理后得到:avatar.123_1661136943533.png
                fileName = prefixName + "_" + System.currentTimeMillis() + suffixName;
            } else {
                return "上傳圖片格式錯(cuò)誤,請(qǐng)重新選擇!";
            }

            String savePath = path.getPath() + File.separator + fileName;

            File saveFile = new File(savePath);
            // 將上傳的文件復(fù)制到指定目錄
            FileCopyUtils.copy(file.getBytes(), saveFile);
            // 返回給前端的圖片保存路徑;前臺(tái)可以根據(jù)返回的路徑拼接完整地址,即可在瀏覽器上預(yù)覽該圖片
            String dest = "images" + File.separator + fileName;

            if (dest.contains("\\")) {
                dest = dest.replace("\\", "/");
            }
            return dest;
        } catch (IOException e) {
            return e.getMessage();
        }
    }
}

配置WebMvcConfigurer,在其addResourceHandlers方法中設(shè)置資源映射

/**
 * @author harry
 * @公眾號(hào) Harry技術(shù)
 */
@Configuration
public class InterceptorConfig implements WebMvcConfigurer {

    @Value("${upload.path}")
    private String uploadPath;

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        // images 是訪問(wèn)圖片資源的前綴,比如要訪問(wèn)test1.png
        // 則全路徑為:http://localhost:端口號(hào)/images/test1.png
        registry.addResourceHandler("/images/**")
                //此處為設(shè)置服務(wù)端存儲(chǔ)圖片的路徑(前端上傳到后臺(tái)的圖片保存位置)
                .addResourceLocations("file:/" + uploadPath);
    }
}

編寫前端進(jìn)行測(cè)試,這里采用Apifox模擬圖片上傳,并在瀏覽器中訪問(wèn)打開

有的小伙伴在測(cè)試的時(shí)候,可能會(huì)出現(xiàn)打不開的情況,那你檢查一下本地路徑地址,不要有中文目錄?。?!

到此這篇關(guān)于SpringBoot3實(shí)現(xiàn)上傳圖片并返回路徑讓前端顯示圖片的文章就介紹到這了,更多相關(guān)SpringBoot3上傳圖片并返回路徑內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java單機(jī)環(huán)境實(shí)現(xiàn)定時(shí)任務(wù)技術(shù)

    Java單機(jī)環(huán)境實(shí)現(xiàn)定時(shí)任務(wù)技術(shù)

    這篇文章主要介紹了Java單機(jī)環(huán)境實(shí)現(xiàn)定時(shí)任務(wù)技術(shù),文章內(nèi)容介紹詳細(xì),具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-04-04
  • Java四種遍歷Map的方法

    Java四種遍歷Map的方法

    今天小編就為大家分享一篇關(guān)于Java四種遍歷Map的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • Springmvc處理ajax請(qǐng)求并返回json數(shù)據(jù)

    Springmvc處理ajax請(qǐng)求并返回json數(shù)據(jù)

    這篇文章主要介紹了Springmvc處理ajax請(qǐng)求并返回json數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 用SpringBoot Admin監(jiān)控SpringBoot程序

    用SpringBoot Admin監(jiān)控SpringBoot程序

    這篇文章主要介紹了用SpringBoot Admin監(jiān)控SpringBoot程序,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下
    2020-10-10
  • nacos使用外部數(shù)據(jù)庫(kù)部署到k8s實(shí)踐

    nacos使用外部數(shù)據(jù)庫(kù)部署到k8s實(shí)踐

    Nacos 是一個(gè)用于發(fā)現(xiàn)、配置和管理微服務(wù)的平臺(tái),提供了一系列簡(jiǎn)單易用的特性,幫助快速實(shí)現(xiàn)動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、服務(wù)配置、服務(wù)元數(shù)據(jù)及流量管理,通過(guò)簡(jiǎn)單的安裝和部署,可以快速構(gòu)建、交付和管理微服務(wù)平臺(tái)
    2026-02-02
  • POI對(duì)Excel自定義日期格式的讀取(實(shí)例代碼)

    POI對(duì)Excel自定義日期格式的讀取(實(shí)例代碼)

    下面小編就為大家?guī)?lái)一篇POI對(duì)Excel自定義日期格式的讀取(實(shí)例代碼)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-11-11
  • springboot訪問(wèn)請(qǐng)求404的原因及解決辦法

    springboot訪問(wèn)請(qǐng)求404的原因及解決辦法

    在使用Spring Boot開發(fā)應(yīng)用程序時(shí),有時(shí)可能會(huì)遇到訪問(wèn)請(qǐng)求出現(xiàn)404錯(cuò)誤的情況,即請(qǐng)求的資源未找到,這篇文章主要給大家介紹了關(guān)于springboot訪問(wèn)請(qǐng)求404的原因及解決辦法,需要的朋友可以參考下
    2023-09-09
  • SpringBoot整合WebSocket實(shí)現(xiàn)聊天室流程全解

    SpringBoot整合WebSocket實(shí)現(xiàn)聊天室流程全解

    WebSocket協(xié)議是基于TCP的一種新的網(wǎng)絡(luò)協(xié)議。本文將通過(guò)SpringBoot集成WebSocket實(shí)現(xiàn)簡(jiǎn)易聊天室,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,感興趣的可以了解一下
    2023-01-01
  • SpringBoot構(gòu)建Restful service完成Get和Post請(qǐng)求

    SpringBoot構(gòu)建Restful service完成Get和Post請(qǐng)求

    這篇文章主要介紹了SpringBoot構(gòu)建Restful service完成Get和Post請(qǐng)求的示例代碼,感興趣的朋友一起看看吧
    2017-08-08
  • MyBatis 配置之集合的嵌套方式

    MyBatis 配置之集合的嵌套方式

    這篇文章主要介紹了MyBatis 配置之集合的嵌套方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09

最新評(píng)論

若尔盖县| 合川市| 太原市| 额济纳旗| 华池县| 曲沃县| 新平| 津南区| 丰都县| 凉城县| 遂宁市| 新安县| 集安市| 鲁山县| 延川县| 鄢陵县| 叙永县| 贵南县| 华蓥市| 丽江市| 外汇| 瓦房店市| 重庆市| 梅河口市| 临沂市| 布尔津县| 金堂县| 甘孜县| 达州市| 常德市| 蒙山县| 岫岩| 合肥市| 建湖县| 西华县| 卢氏县| 固镇县| 东海县| 太和县| 阿拉善右旗| 茂名市|