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.hqwc.cn/news/421290.html

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

相关文章

Tomcat的maxParameterCountmaxPostSize参数

Tomcat的maxParameterCount&maxPostSize参数 Tomcat的maxParameterCount&maxPostSize参数1.问题1.1问题现象1.2 参数总结1.3 问题总结 2 Tomcat官网的解释2.1 到https://tomcat.apache.org/找到文档入口2.2 找到文档的Reference2.3 查看配置文件的参数 3 文档看不明白&…

机器学习实验报告——Bayes算法

目录 一、算法介绍 1.1算法背景 1.2算法假设 1.3 贝叶斯与朴素贝叶斯 1.4算法原理 二、算法推导 2.1朴素贝叶斯介绍 2.2朴素贝叶斯算法推导 2.2.1先验后验概率 2.2.2条件概率公式 2.3 独立性假设 2.4 朴素贝叶斯推导 三、算法实现 3.1数据集描述 3.2代码实现 四…

mycat实现mysql读写分离

一. mycat集群HaproxyKeepalived mycat集群HaproxyKeepalivedmysql1主2从 环境规划 centos7.9 1主2从,读写分离 名称ip端口mysql-master192.168.1.2203306mysql-slave1192.168.1.2213306mysql-slave2192.168.1.2223306mycat-1192.168.1.2218066mycat-2192.168.1.…

《WebKit 技术内幕》之八(1):硬件加速机制

《WebKit 技术内幕》之八(1):硬件加速机制 1 硬件加速基础 1.1 概念 这里说的硬件加速技术是指使用GPU的硬件能力来帮助渲染网页,因为GPU的作用主要是用来绘制3D图形并且性能特别好,这是它的专长所在,它…

4D毫米波雷达——FFT-RadNet 目标检测与可行驶区域分割 CVPR2022

前言 本文介绍使用4D毫米波雷达,实现目标检测与可行驶区域分割,它是来自CVPR2022的。 会讲解论文整体思路、输入数据分析、模型框架、设计理念、损失函数等,还有结合代码进行分析。 论文地址:Raw High-Definition Radar for Mu…

JVM篇--垃圾回收器高频面试题

1 你知道哪几种垃圾收集器,各自的优缺点是啥,重点讲下cms和G1,包括原理,流程,优缺点? 1)首先简单介绍下 有以下这些垃圾回收器 Serial收集器: 单线程的收集器,收集垃圾时…

Vue学习笔记9--vuex(专门在Vue中实现集中式状态(数据)管理的一个Vue插件)

一、vuex是什么? 概念:专门在Vue中实现集中式状态(数据)管理的一个Vue插件,对vue应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于…

磁盘初始化会丢失文件吗?答案揭晓!

“由于我的电脑出现了一些问题,我就将磁盘初始化了,但是里面还有很重要的文件,磁盘初始化了文件会丢失吗?有什么方法可以恢复丢失的文件呢?” 当我们谈论磁盘初始化,通常是指对硬盘或固态驱动器&#xff08…

云盘后端分析

1.验证码 用的是外面找的 2.发送邮箱验证码 配置邮箱的授权码 我们在发送邮箱的时候,需要把那个值传到数据库中,数据库中有它的状态,我们需要根据状态判断它是注册还是找回密码 我们在发送邮箱之前,先从session里面得到我们验证…

RT Thread Stdio生成STM32L431RCT6无法启动问题

一、问题现象 使用RT thread Stdio生成STM32L431RCT6工程后,编译下载完成后系统无法启动,无法仿真debug; 二、问题原因 如果当前使用的芯片支持包版本为0.2.3,可能是这个版本问题,目前测试0.2.3存在问题&#xff0c…

分享一个简单的html模板,拿去学习真是太合适了

用纯html写个个人博客!首先得先找个模板! 一个优秀模板所应该具有的素质? 简单? 仅仅一个html页面,完全没有乱七八糟,保证学的明明白白。 漂亮? 该有的内容一个不少! 一个完美的…

利用Anaconda安装pytorch和paddle深度学习环境+pycharm安装后不能调用pytorch和paddlepaddle框架

问题现象: 之前安装后不能在添加pytorch和paddlepaddle框架 原因(疑似): 在终端中显示pytorch和paddle在C盘但是安装是安装在J盘 解决办法: 卸载、删除文件重新安装后可以看到文件位置在J盘中 但是选择时还是显示C…