SpringBoot之文件上传

1、文件上传原理😘

表单的enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。
当表单的enctype="application/x-www-form-urlencoded"(默认)时,form表单中的数据格式为:key=value&key=value
当表单的enctype="multipart/form-data"时,其传输数据形式如下

 2、SpirngBoot实现文件上传功能💱

Spring Boot工程嵌入的tomcat限制了请求的文件大小,每个文件的配置最大为1Mb,单次请求的文件的总数不能大于10Mb。
要更改这个默认值需要在配置文件(如application.properties)中加入两个配置
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB

3、SpirngBoot实现文件上传功能🔤

当表单的enctype="multipart/form-data"时,可以使用MultipartFile 获取上传的文件数据,再通过transferTo方法将其写入到磁盘中
@RestController
public class FileUploadController {@PostMapping("/upload")public String up(String nickname, MultipartFile photo, HttpServletRequest request) throws IOException {System.out.println(nickname);// 获取图片的原始名称System.out.println(photo.getOriginalFilename());// 取文件类型System.out.println(photo.getContentType());String path = request.getServletContext().getRealPath("/upload/");System.out.println(path);saveFile(photo,path);return "上传成功";}//public void saveFile(MultipartFile photo,String path) throws IOException {
//       判断存储的目录是否存在,如果不存在则创建File dir = new File(path);if(!dir.exists()){
//         创建目录dir.mkdir();}File file = new File(path+photo.getOriginalFilename());photo.transferTo(file);}
}

4、测试🌾

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/640604.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Linux高性能服务器编程》笔记03

Linux高性能服务器编程 本文是读书笔记,如有侵权,请联系删除。 参考 Linux高性能服务器编程源码: https://github.com/raichen/LinuxServerCodes 豆瓣: Linux高性能服务器编程 文章目录 Linux高性能服务器编程第07章 Linux服务器程序规范7.1日志7.2用…

把Mybatis Generator生成的代码加上想要的注释

1 前言 在日常开发工作中,我们经常用Mybatis Generator根据表结构生成对应的实体类和Mapper文件。但是Mybatis Generator默认生成的代码中,注释并不是我们想要的,所以一般在Generator配置文件中,会设置不自动生成注释。带来的问题…

【数据结构】在链队列中你可能忽视的二三事

链队列及其基本操作的C语言实现 导言一、链队列二、链队列的基本操作的实现2.1 链队列的数据类型2.2 链队列的初始化2.2.1 带头结点的链队列的初始化2.2.3 不带头结点的链队列的初始化 2.3 链队列的判空2.3.1 带头结点的链队列的判空2.3.2 不带头结点的链队列的判空 2.4 链队列…

IS-IS:01 ISIS基本配置

这是实验拓扑,下面是基本配置: R1: sys sysname R1 user-interface console 0 idle-timeout 0 0 int loop 0 ip add 1.1.1.1 24 int g0/0/0 ip add 192.168.12.1 24 qR2: sys sysname R2 user-interface console 0 idle-timeout 0 0 int loop 0 ip add …

samba服务搭建,并将共享目录映射到windows

系统版本:centos7 1、centos 安装samba yum -y install samba 2、查看安装信息 rpm -qa |grep samba 3、设置开机自启动 systemctl enable smb.service systemctl enable nmb.service 4、设置samba服务器配置文件 sudo vi /etc/samba/smb.conf 注意&#…

CentOS 系统创建网卡bond0

很多时候在机房运维的过程中,我们会遇到客户要求的建立网卡光口的bond0设置,通俗点说就是将两个光口合并为一个口进行链接设置。创建这个设置是有两种设置,一是在安装系统的过程中对bond0进行创建设置,另一种就是通过系统里面对网…

Mac使用adb调试安卓手机

0x00 背景 最近windows电脑休息,用mac办公比较多,手机用时间长了,不太灵光,准备修理一番。于是要用mac调试下android手机。配置略显麻烦,网上的步骤多参差不齐。估计是入门步骤,大佬们也懒得写的太细。于是…

【趣味题-07】20240121他的第一周工资(精准推测工资)

背景需求 设计过程: AI写了很多的答案,但是都不正确 于是我去查看了网上的正确答案——47.41美元 此外,题目的0.99涉及了浮点数,非整数,无法range遍历 最后终于有一个答案正确的代码 通过反复测试,终于写出…

详细版Git的下载安装与配置(Windows)

一、git的下载 Git是一个非常好用的版本控制工具。下载地址如下:Git - Downloads。建议使用国内浏览器下载,因为不用翻墙,速度快。 当你用浏览器去访问上面的地址后,下载页面会自动识别你的电脑系统,如下 点击&#…

NVMe TCG安全数据存储简介

NVMe(非易失性内存主机控制器接口规范)与TCG(可信计算组)的集成主要体现在数据安全、固件验证和硬件信任根等方面,以确保存储设备的数据保护能力和安全性。 TCG Opal定义了一套针对自加密硬盘(SED, Self-En…

找不到msvcr100dll或msvcr100dll丢失怎么办,5种靠谱的解决方法分享

MSVCR100.dll文件的丢失可能会引发一系列系统运行和应用程序功能上的问题。作为Microsoft Visual C运行库中的一个关键动态链接库文件,它的缺失会导致依赖于此文件的软件无法正常启动或执行预期功能。具体表现可能包括但不限于:应用程序崩溃、闪退&#…

Python基础之异常处理

程序在运行过程中,难免会遇到错误,有的是编写人员疏忽造成的语法错误,有的是程序内部隐含逻辑问题造成的数据错误,还有的是程序运行时与系统的规则冲突造成的系统错误,等等。如果出错就不会执行出错语句后面的代码&…

Ubutu下的Shell操作

前言 在学习Ubuntu系统时,Shell操作是必不可少的知识。本篇文章是记录我学习Linux系统时,Ubutu下的Shell操作,希望我的分享对大家有所帮助! 目录 前言 一、什么时是Shell 二、Shell的基本操作 三、常用的Shell命令 1、目录信…

GIS项目实战06:超详细Node.js安装及系统环境配置

简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台。 Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境,基于 Google 的 V8 引擎,V8 引擎执行 Javascript 的速度非常快,性能…

一区优化直接写:KOA-CNN-BiLSTM-Attention开普勒优化卷积、长短期记忆网络融合注意力机制的多变量回归预测程序!

适用平台:Matlab 2023版及以上 KOA开普勒优化算法,于2023年5月发表在SCI、中科院1区Top顶级期刊《Knowledge-Based Systems》上。 该算法提出时间很短,目前还没有套用这个算法的文献。 同样的,我们利用该新鲜出炉的算法对我们的…

【好用的AI工具Kimi Chat】帮助提高面试效率

一、背景 年前裁员潮,不少人离职找工作,以及年后金三银四,也是求职高峰期。如何更高效的复习技术知识,以及特别是横纵向比对有总结性的问题。本文以面试【测试开发】的岗位为例,对面试题进行拓展,让AI帮助…

从 Vscode 中远程连接 WSL 服务器:可以本地操作虚拟机

从 Vscode 中远程连接 WSL 服务器:可以本地操作虚拟机 1.下载 Vscode Visual Studio Code - Code Editing. Redefined 2.搜索框中输入>wsl,点击 WSL:Connect to WSL using Distro... 3.点击下载好的Ubuntu,当左下角出现图片同…

U-Boot 中使用 nfs 命令加载文件报错指南

目录 问题一问题描述错误原因解决方案 问题二问题描述解决方案 更多内容 在嵌入式 Linux 开发中,我们经常使用 nfs 命令加载服务端的共享文件或者挂载文件系统。关于服务端 NFS 服务的搭建可以参考基于 NFS 的文件共享实现。 U-Boot 也支持了 nfs 命令,…

RabbitMQ数据隔离

1、新建用户 2、登录用户,设置虚拟主机 登录用户只能操作自己的虚拟主机,交换机等,不能操作其他人的!!!

二维码地址门牌管理系统:登记管理新时代

文章目录 前言一、轻松登记,一扫即通二、智能化登记,优势明显三、政府支持与推广四、智能化管理未来展望 前言 二维码门牌管理系统的上线,为市民带来了便捷。系统不仅提升了登记效率,更保障了个人信息安全,成为城市管…