Java---后端文件上传详解

袁门才俊志高远,
震古烁今意决然。
风采翩翩才情显,
雄姿英发立世间。

目录

一,简单案例演示

二,服务器本地存储

三,配置单个文件上传大小限制

一,简单案例演示

首先简单编写一个前端网页:

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>yz测试上传文件</title>
</head>
<body>
    <form action="/upload" method="post" enctype="multipart/form-data">
        姓名:<input type="text" name="username"><br>
        年龄:<input type="text" name="age"><br>
        头像:<input type="file" name="image"><br>
        <input type="submit" value="提交">
    </form>
</body>
</html>

在浏览器打开:

在之前的项目中创建UpLoadController,之前的项目可以看文章Java---SpringBoot详解一_java springbot-CSDN博客

Java---SpringBoot详解二-CSDN博客

java 复制代码
@RestController
public class UpLoadController {
    @PostMapping("/upload")
    public Result upLoad(String name, Integer age, MultipartFile image) {
        System.out.println("name:"+name+",age:"+age+",file:"+image);
        return Result.success();
    }
}

二,服务器本地存储

上面只是进行了请求,下面我们将上传的文件保存到服务器本地

对UpLoadController进行改造:

java 复制代码
@RestController
public class UpLoadController {
    @PostMapping("/upload")
    public Result upLoad(String name, Integer age, MultipartFile image) throws IOException {
        System.out.println("name:"+name+",age:"+age+",file:"+image);
        //获取文件名
        String fileName=image.getOriginalFilename();
        //将文件保存在本地
        image.transferTo(new File("D:\\javatest\\file\\"+fileName));
        return Result.success();
    }
}

利用postman进行测试:

然后在服务器查看文件:

三,配置单个文件上传大小限制

如果我们不配置文件的大小,默认大小就是1M,超过1M大小的文件就会报错。

所以我们需要在application.properties文件中配置大小。根据自己的实际业务配置:

Groovy 复制代码
server.port=8080

#配置单个文件的大小
spring.servlet.multipart.max-file-size=10GB

#配置单个请求最大大小的限制(一次请求中是可以上传多个文件)
spring.servlet.multipart.max-request-size=10GB
相关推荐
FYKJ_20102 分钟前
springboot刑事案件管理系统03047-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·typescript·spark·django
小辰爱喝汤1 小时前
新闻管理系统|SpringBoot + Vue 毕业设计完整方案
spring boot·毕业设计·课程设计
FYKJ_20101 小时前
springboot助农产品销售商城05829-计算机课程设计、毕业设计
java·spring boot·python·mysql·spark·django
Yunovian1 小时前
AI时代,针对模型与应用,浅谈一下各编程语言
开发语言·c++·人工智能·python·ai·rust·ai编程
Ticnix2 小时前
RAG 烂大街?烂大街的只是那条流水线——真正的分水岭在这五处
后端·python·agent
Wx-bishekaifayuan2 小时前
springboot社区扶贫救助管理系统13300-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
周杰伦fans2 小时前
构建真正智能的CAD AI绘图代理
开发语言·人工智能·c#
DolphinDB2 小时前
数据库自带 Agent:10 分钟搭起 DolphinX-Web 数据入库与分析框架
后端·架构
弈栈录3 小时前
基于 Spring Boot 构建生产级 AI 应用平台
后端·面试·架构
小小张说故事3 小时前
LightGBM 入门指南:更快的梯度提升树,Python 实战
后端·python·机器学习