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

Spring Boot文件上傳最新解決方案

 更新時間:2021年07月15日 16:55:38   作者:gnail_oug  
本文給大家分享Spring Boot文件上傳功能的示例代碼,包括單文件上傳示例和多文件上傳,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧

一、創(chuàng)建一個簡單的包含WEB依賴的SpringBoot項目

pom.xml內(nèi)容:

<!-- Spring Boot web啟動器 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!-- jsp -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <!--<scope>provided</scope>-->
</dependency>

二、配置文件上傳的文件大小限制

application.properties配置文件添加:

# 上傳文件總的最大值
spring.servlet.multipart.max-request-size=10MB
# 單個文件的最大值
spring.servlet.multipart.max-file-size=10MB

## jsp
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
  • spring.servlet.multipart.max-file-size限制單個文件的最大值
  • spring.servlet.multipart.max-request-size限制上傳的多個文件的總大小

 三、單文件上傳示例

1、創(chuàng)建Controller控制類,內(nèi)容如下:

package com.songguoliang.springboot.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;

import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.util.List;

/**
 * @Description
 * @Author sgl
 * @Date 2018-05-15 14:04
 */
@Controller
public class UploadController {
    private static final Logger LOGGER = LoggerFactory.getLogger(UploadController.class);

    @GetMapping("/upload")
    public String upload() {
        return "upload";
    }

    @PostMapping("/upload")
    @ResponseBody
    public String upload(@RequestParam("file") MultipartFile file) {
        if (file.isEmpty()) {
            return "上傳失敗,請選擇文件";
        }

        String fileName = file.getOriginalFilename();
        String filePath = "/Users/itinypocket/workspace/temp/";
        File dest = new File(filePath + fileName);
        try {
            file.transferTo(dest);
            LOGGER.info("上傳成功");
            return "上傳成功";
        } catch (IOException e) {
            LOGGER.error(e.toString(), e);
        }
        return "上傳失??!";
    }

    
}

2、創(chuàng)建upload.jsp文件

只有一個表單,選擇文件,form的enctypemultipart/form-data:

<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
    <title>單文件上傳</title>
</head>
<body>
<form method="post" action="/upload" enctype="multipart/form-data">
    <input type="file" name="file"><br>
    <input type="submit" value="提交">
</form>
</body>
</html>

3、通過springboot插件啟動項目,瀏覽器輸入http://localhost:8080/upload

這里寫圖片描述

選擇文件點擊提交按鈕返回成功信息,我們上傳的文件保存在/Users/itinypocket/workspace/temp路徑下:

這里寫圖片描述

四、多文件上傳

1、創(chuàng)建多文件上傳的jsp頁面,多文件上傳頁面只是比單文件上傳多了file選擇的input而已,multiUpload.jsp內(nèi)容如下:

<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
    <title>多文件上傳</title>
</head>
<body>
<form method="post" action="/multiUpload" enctype="multipart/form-data">
    <input type="file" name="file"><br>
    <input type="file" name="file"><br>
    <input type="file" name="file"><br>
    <input type="submit" value="提交">
</form>
</body>
</html>

2、在UploadController里添加多文件上傳的方法

@GetMapping("/multiUpload")
public String multiUpload() {
    return "multiUpload";
}

@PostMapping("/multiUpload")
@ResponseBody
public String multiUpload(HttpServletRequest request) {
    List<MultipartFile> files = ((MultipartHttpServletRequest) request).getFiles("file");
    String filePath = "/Users/itinypocket/workspace/temp/";
    for (int i = 0; i < files.size(); i++) {
        MultipartFile file = files.get(i);
        if (file.isEmpty()) {
            return "上傳第" + (i++) + "個文件失敗";
        }
        String fileName = file.getOriginalFilename();

        File dest = new File(filePath + fileName);
        try {
            file.transferTo(dest);
            LOGGER.info("第" + (i + 1) + "個文件上傳成功");
        } catch (IOException e) {
            LOGGER.error(e.toString(), e);
            return "上傳第" + (i++) + "個文件失敗";
        }
    }

    return "上傳成功";

}

3、重啟服務(wù),瀏覽器輸入http://localhost:8080/multiUpload:

這里寫圖片描述

4、然后選擇要上傳的文件,點擊提交按鈕,得到成功信息:

這里寫圖片描述

我們選擇的三個文件已被成功上傳到/Users/itinypocket/workspace/temp路徑下。


分享一個零基礎(chǔ),通俗易懂,而且非常風(fēng)趣幽默的人工智能教程(如不能直接點擊訪問,請以“右鍵”->“在新標(biāo)簽頁中打開鏈接”方式打開)網(wǎng)站,網(wǎng)址:https://www.cbedai.net/gnailoug/

源碼:
github
碼云

到此這篇關(guān)于Spring Boot文件上傳最新解決方案的文章就介紹到這了,更多相關(guān)Spring Boot文件上傳內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一招教你優(yōu)化Java代碼中大量的if/else

    一招教你優(yōu)化Java代碼中大量的if/else

    當(dāng)代碼已經(jīng)復(fù)雜到難以維護的程度之后,只能狠下心重構(gòu)優(yōu)化。那,有什么方案可以優(yōu)雅的優(yōu)化掉這些多余的if/else?本文就來和大家詳細(xì)聊聊
    2023-03-03
  • Java 基于Spire.Cloud.SDK for Java在PDF中繪制形狀

    Java 基于Spire.Cloud.SDK for Java在PDF中繪制形狀

    這篇文章主要介紹了Java 基于Spire.Cloud.SDK for Java在PDF中繪制形狀,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 詳解Java 自動裝箱與自動拆箱

    詳解Java 自動裝箱與自動拆箱

    這篇文章主要介紹了Java 自動裝箱與自動拆箱的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下
    2020-09-09
  • Spring MVC攔截器(Interceptor)的定義和配置過程

    Spring MVC攔截器(Interceptor)的定義和配置過程

    這篇文章主要介紹了Spring MVC攔截器(Interceptor)的定義和配置過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • JavaWeb response完成重定向?qū)崿F(xiàn)過程詳解

    JavaWeb response完成重定向?qū)崿F(xiàn)過程詳解

    這篇文章主要介紹了JavaWeb response完成重定向?qū)崿F(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • Java異常處理學(xué)習(xí)心得

    Java異常處理學(xué)習(xí)心得

    本篇文章給大家詳細(xì)講述了學(xué)習(xí)Java異常處理學(xué)習(xí)的心得以及原理介紹,對此有興趣的朋友參考下吧。
    2018-01-01
  • springboot 多環(huán)境配置 yml文件版的實現(xiàn)方法

    springboot 多環(huán)境配置 yml文件版的實現(xiàn)方法

    這篇文章主要介紹了springboot 多環(huán)境配置 yml文件版的實現(xiàn)方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • JavaWeb?Hibernate使用全面介紹

    JavaWeb?Hibernate使用全面介紹

    在正式進入Hibernate的高級應(yīng)用之前,需要了解聲明是數(shù)據(jù)模型與領(lǐng)域模型,這兩個概念將會幫助我們更好的理解實體對象的關(guān)聯(lián)關(guān)系映射
    2022-10-10
  • sublime編譯器怎么運行java程序

    sublime編譯器怎么運行java程序

    Sublime是一款強大的代碼編輯器,它提供了豐富的功能和插件,可以幫助開發(fā)者提高代碼的編寫效率和質(zhì)量,通過安裝相關(guān)插件和進行簡單配置,我們可以輕松地在Sublime中編譯和運行Java代碼,下面我們將詳細(xì)介紹如何配置Sublime,使其能夠高效地運行Java代碼
    2024-06-06
  • 淺談java+內(nèi)存分配及變量存儲位置的區(qū)別

    淺談java+內(nèi)存分配及變量存儲位置的區(qū)別

    下面小編就為大家?guī)硪黄獪\談java+內(nèi)存分配及變量存儲位置的區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08

最新評論

苏尼特右旗| 阿克陶县| 清丰县| 肥城市| 千阳县| 大英县| 砀山县| 宁阳县| 炉霍县| 虎林市| 白水县| 蒲江县| 万源市| 盐边县| 肥乡县| 老河口市| 平阴县| 浦城县| 朝阳区| 南丰县| 逊克县| 确山县| 惠安县| 佛学| 长治市| 黄大仙区| 清水县| 林芝县| 金沙县| 徐闻县| 许昌市| 湖南省| 贡嘎县| 平潭县| 邓州市| 资兴市| 原阳县| 叶城县| 利津县| 郓城县| 全南县|