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

spring boot實現(xiàn)文件上傳

 更新時間:2022年08月14日 14:20:24   作者:奶茶37.2℃  
這篇文章主要為大家詳細(xì)介紹了spring boot實現(xiàn)文件上傳,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了spring boot實現(xiàn)文件上傳的具體代碼,供大家參考,具體內(nèi)容如下

一、簡介

java 中文件上傳涉及CommonsMultipartResolver 和 StandardServletMultipartResolver,其中CommonsMultipartResolver需要 commons-fileupload jar 包。StandardServletMultipartResolver 基于Servlet3.0 將不再需要任何額外的jar 包,tomcat 7.0 開始支持Servlet3.0。spring boot 2.0.4 內(nèi)嵌的tomcat 為8.5.32 。自動配置信息如下:

用戶可自定義配置相關(guān)屬性。

二、流程

1.FileController.java

package com.vincent;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.UUID;

import javax.servlet.http.HttpServletResponse;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

@RestController?
@RequestMapping("/file")
public class FileController {
?? ?@PostMapping("/upload")
?? ?public String upload(MultipartFile multipartFile) {
?? ??? ?
?? ??? ?String base = "C:\\Users\\Administrator\\Desktop\\file\\";
?? ??? ?File file = new File(base);
?? ??? ?if(!file.exists()) {
?? ??? ??? ?file.mkdirs();
?? ??? ?}
?? ??? ?
?? ??? ?//獲取文件類型名
?? ??? ?String[] parts = multipartFile.getOriginalFilename().split("\\.");
?? ??? ?String fileName = UUID.randomUUID().toString();
?? ??? ?
?? ??? ?if(parts!= null && parts.length >= 2) {
?? ??? ??? ?fileName += "." + parts[parts.length-1];
?? ??? ?}
?? ??? ?try {
?? ??? ??? ?multipartFile.transferTo(new File(base + fileName));
?? ??? ?} catch (IllegalStateException | IOException e) {
?? ??? ??? ?e.printStackTrace();
?? ??? ??? ?return "文件上傳失敗";
?? ??? ?}
?? ??? ?
?? ??? ?return fileName;
?? ?}
?? ?
?? ?@GetMapping("/path")
?? ?public void file(String fileName,HttpServletResponse response) throws IOException {
?? ??? ?
?? ??? ?String base = "C:\\Users\\Administrator\\Desktop\\file\\";
?? ??? ?
?? ??? ?byte[] bytes = Files.readAllBytes(Paths.get(base, fileName));
?? ??? ?response.getOutputStream().write(bytes);
?? ??? ?
?? ?}
?? ?
}

2.resources/static/html/index.html

<html>
?? ?<head>
?? ??? ?<meta charset="utf-8" >
?? ?</head>
?? ?<body>
?? ??? ?<form action="/file/upload" method="post" enctype="multipart/form-data">
?? ??? ??? ?<input type="file" name="multipartFile"><br/>
?? ??? ??? ?<input type="submit" value="提交" />?
?? ??? ?</form>
?? ?</body>
</html>

三、測試

1.訪問 http://localhost:8080/html/index.html

2.選擇文件并提交

3.使用 FileController 中請求獲取文件信息

四、多文件上傳

1.html form 的input 支持multiple 屬性,加上該屬性將可以上傳多個文件

2.多文件上傳的請求方法的MultipartFile 將是一個數(shù)組,遍歷該數(shù)組保存相關(guān)文件信息即可

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java 知識難點之異常的認(rèn)知與使用詳解

    Java 知識難點之異常的認(rèn)知與使用詳解

    所謂異常是指程序在運行時出現(xiàn)錯誤時提示調(diào)用者的機(jī)制,異常的種類有很多,不同種類的異常有不同的含義,也有不同的處理方式,通讀本篇對大家的學(xué)習(xí)或工作具有一定的價值,需要的朋友可以參考下
    2021-09-09
  • Java之String、StringBuffer、StringBuilder的區(qū)別分析

    Java之String、StringBuffer、StringBuilder的區(qū)別分析

    今天搞安卓在看書的時候遇到了StringBuilder這個類型的東東,有點小迷,不知道它跟string、stringbuffer的關(guān)系式怎么樣的,趕快查閱相關(guān)資料,了解了個大概,拿出來分享一下
    2012-11-11
  • 2021年最新Redis面試題匯總(3)

    2021年最新Redis面試題匯總(3)

    在程序員面試過程中redis相關(guān)的知識是常被問到的話題。這篇文章主要介紹了幾道Redis面試題,整理一下分享給大家,感興趣的小伙伴們可以參考一下
    2021-07-07
  • java實現(xiàn)文件重命名功能

    java實現(xiàn)文件重命名功能

    這篇文章主要介紹了java實現(xiàn)文件重命名功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • java實現(xiàn)點擊按鈕彈出新窗體功能

    java實現(xiàn)點擊按鈕彈出新窗體功能

    這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)點擊按鈕彈出新窗體功能,舊窗體不進(jìn)行操作,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 詳解利用Spring加載Properties配置文件

    詳解利用Spring加載Properties配置文件

    本篇文章主要介紹了詳解利用Spring加載Properties配置文件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • java線程池ThreadPoolExecutor類使用小結(jié)

    java線程池ThreadPoolExecutor類使用小結(jié)

    這篇文章主要介紹了java線程池ThreadPoolExecutor類使用,本文主要對ThreadPoolExecutor的使用方法進(jìn)行一個詳細(xì)的概述,示例代碼介紹了ThreadPoolExecutor的構(gòu)造函數(shù)的相關(guān)知識,感興趣的朋友一起看看吧
    2022-03-03
  • Java代碼實現(xiàn)四種限流算法詳細(xì)介紹

    Java代碼實現(xiàn)四種限流算法詳細(xì)介紹

    本文主要介紹了Java代碼實現(xiàn)四種限流算法詳細(xì)介紹,包含固定窗口限流,滑動窗口限流,漏桶限流,令牌桶限流,具有一定的參考價值,感興趣的可以了解一下
    2024-05-05
  • 使用Java計算集合中的組內(nèi)平均值的代碼實現(xiàn)

    使用Java計算集合中的組內(nèi)平均值的代碼實現(xiàn)

    在Java開發(fā)中,集合(Collection)是一個重要的數(shù)據(jù)結(jié)構(gòu),廣泛應(yīng)用于各種場景,計算集合中的組內(nèi)平均值是一個常見的操作,本文將深入探討如何使用Java來計算集合中的組內(nèi)平均值,涵蓋基本概念、具體實現(xiàn)、優(yōu)化策略和實用示例,需要的朋友可以參考下
    2024-06-06
  • java實現(xiàn)的二級聯(lián)動菜單效果

    java實現(xiàn)的二級聯(lián)動菜單效果

    這篇文章主要介紹了java實現(xiàn)的二級聯(lián)動菜單效果,結(jié)合實例形式分析了java前臺頁面布局及與后臺交互構(gòu)造聯(lián)動菜單的相關(guān)技巧,需要的朋友可以參考下
    2016-08-08

最新評論

大兴区| 海兴县| 昭苏县| 潢川县| 乐昌市| 云龙县| 荥经县| 调兵山市| 察雅县| 大方县| 灌南县| 小金县| 宁乡县| 呼玛县| 墨竹工卡县| 自治县| 杭锦后旗| 宁远县| 柯坪县| 长泰县| 达孜县| 克山县| 临清市| 汉寿县| 古蔺县| 托克托县| 射洪县| 镇安县| 阜城县| 聊城市| 镇平县| 利津县| 彭州市| 甘德县| 深泽县| 奎屯市| 肃南| 常熟市| 长子县| 法库县| 叶城县|