SpringBoot简单实现文件上传

作者:散一世繁华,颠半世琉璃 时间:2021-09-04 12:24:52 

前言:

这里给大家介绍如何在SpringBoot项目中实现文件上传功能!

1.创建SpringBoot项目

打开IDEA,点击文件,选择新建项目,点击Spring Initializr,然后根据自己的需求设置项目名称,位置以及JDK。这里需要注意,服务器的URL最好设置为阿里云服务器,这样可以使得项目加载地更快。

SpringBoot简单实现文件上传

点击下一步后,勾选Spring Web依赖与Thymeleaf模板引擎后点击完成即可

SpringBoot简单实现文件上传

2.修改application.properties配置文件

因为SpringBoot项目中默认文件的最大上传大小为1MB,而1MB的上传容量无法满足我们开发工程中的文件上传需求,因此我们需要修改配置文件。

# 设置上传文件的大小为10MB
spring.servlet.multipart.max-file-size=10MB

3.编写控制器UserController类

这里需要注意的是,使用MultipartFile类来处理接受前端上传的文件,通过它可以获取文件的名称,类型,大小等等信息。

package com.xing.springbootfileupload.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
@Controller
public class UserController {
   @RequestMapping("/")
   public String welcome(){
       return "index";
   }//这里相当于设置欢迎页

@RequestMapping("/upload")
   @ResponseBody
   public String upload(String name, MultipartFile phone) throws IOException {//实现文件上传
       System.out.println("上传的用户名为:"+name);
       System.out.println("图像的原始名称为:"+phone.getOriginalFilename());
       System.out.println("上传文件的类型为:"+phone.getContentType());
       saveFile(phone);
       return "文件上传成功";
   }

public void saveFile(MultipartFile phone) throws IOException {//将文件保存到本地
       String dir="这里写自己要保存图片的绝对路径";//建议这里写resources目录的绝对路径
       File path=new File(dir+"/upload/");
       if(!path.exists()){//如果当前目录不存在
           path.mkdir();
       }
       File file=new File(dir+"/upload/"+phone.getOriginalFilename());
       phone.transferTo(file);//将此图像保存到file本地
   }
}

4.编写前端页面index.html

编写表单的时候要注意,我们一定要写enctype=“multipart/form-data” 来控制文件的编码,否则文件会上传失败!

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
   <meta charset="UTF-8">
   <title>欢迎页</title>
</head>
<body>
<h1>请自行上传用户名与图像</h1>
<hr>
<form enctype="multipart/form-data" method="post" th:action="@{/upload}">
   <p>用户名:<input type="text" name="name"></p>
   <p>用户名:<input type="file" name="phone"></p>
   <input type="submit" value="上传">
</form>
</body>
</html>

5.效果展示

直接运行SpringBoot启动类,运行结果如下所示:

SpringBoot简单实现文件上传

选择合适的用户名与图片文件后,点击上传即可看见浏览器显示上传成功!

SpringBoot简单实现文件上传

并且可以在后台看见上传文件的相关信息。

SpringBoot简单实现文件上传

来源:https://blog.csdn.net/qq_51447436/article/details/126626350

标签:SpringBoot,文件,上传
0
投稿

猜你喜欢

  • java编写Http服务器下载工具

    2021-11-08 08:07:38
  • springboot项目打成war包部署到tomcat遇到的一些问题

    2023-10-12 12:46:46
  • Android集成微信支付功能

    2023-07-14 10:38:11
  • 使用Java实现类似Comet风格的web app

    2023-04-01 10:23:22
  • 微信公众号 网页授权登录及code been used解决详解

    2023-02-06 18:49:00
  • c# winform多线程的小例子

    2023-01-05 07:11:44
  • c#实现ini文件读写类分享

    2022-08-31 09:47:48
  • C++ deque与vector对比的优缺点

    2023-08-28 13:19:16
  • 详谈Java几种线程池类型介绍及使用方法

    2023-10-13 03:27:30
  • 使用@ConfigurationProperties实现类型安全的配置过程

    2023-07-01 00:26:05
  • Java面试题冲刺第二十九天--JVM3

    2021-05-24 05:34:26
  • java web实现简单留言板功能

    2021-10-29 17:22:31
  • 深入浅析Java Object Serialization与 Hadoop 序列化

    2023-07-30 17:02:16
  • Java抽象类、继承及多态和适配器的实现代码

    2021-07-14 05:38:00
  • java 数据结构基本算法希尔排序

    2021-09-14 02:09:50
  • Java中BufferedReader与BufferedWriter类的使用示例

    2022-10-30 01:00:04
  • C#用链式方法表达循环嵌套

    2023-04-14 06:54:23
  • 详解SpringBoot JPA常用注解的使用方法

    2023-12-09 17:10:31
  • 你所不知道的Spring自动注入详解

    2021-09-04 19:30:08
  • Android自动播放Banner图片轮播效果

    2022-09-06 05:55:42
  • asp之家 软件编程 m.aspxhome.com