当前位置: 首页 > news >正文

html中文件上传储存到本地路径

第一步:写html文件

<form action="/uplode" 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="subsit" value="提交">
</form>

这上面这个html代码,里面可以上传一个头像的文件 

如果是上传文件的话,需要注意的是,提交方式必须是post =》 method=“post”。 后面的 enctype(提交表单时使用何种编码类型)这个的类型必须为 multipart/form-data =》 enctype=“multipart/form-data” , 这个才会将整个文件给传送到后端去,如果使用的是默认的编码类型,传输的则是文件的名称

必须注意上面的这两点

第二步:java本地储存

先看代码

@PostMapping("/upload")
public Result upload(String username, Integer age,MultipartFile image) throws Exception{log.info("文件上传:{},{},{}",username, age, image);// 获取原始文件名   - 1.jpg  1.2.3.jpgString originalFilename = image.getOriginalFilename();   //getName()。这个方法获取的是表单项的名字// 构造唯一的文件名(不能重复) --uuid(通用唯一识别码)int index = originalFilename.lastIndexOf(".");   // 获取到的是最后一个点所处在的位置String extname = originalFilename.substring(index);  //直接截取到文件的后缀名String newFileName = UUID.randomUUID().toString() + extname;log.info("获取到的新的文件名:{}", newFileName);// 将文件储存到服务器的磁盘目录中。E:\imageimage.transferTo(new File("E:\\image\\"+newFileName));return Result.success();
}

上面的代码中,首先用MultipartFile对象去接受从网页传来的文件数据对象,获取到原始的文件名,保存在指定的路径之上,我们用uuid来做唯一标识,来作为文件名.其中后缀名用字符串中的一些方法获取.

但是文件最大传输大小问1M,那该怎么办呢?

可以在配置中配置如下配置

# 配置单个文件最大上传大小
spring.servlet.multipart.max-file-size=10MB
# 配置单个请求最大上传大小(一次请求可以上传多个文件)
spring.servlet.multipart.max-request-size=100MB

相关文章:

html中文件上传储存到本地路径

第一步:写html文件 <form action"/uplode" method"post" enctype"multipart/form-data">姓名:<input type"text" name"username"><br>年龄:<input type"text" name"age"><…...

第九章 SpringBoot 自动配置原理 入门

1. 引导加载自动配置类 SpringBootApplication -- SpringBootConfiguration -- EnableAutoConfiguration -- ComponentScan //SpringBootApplicationSpringBootConfiguration EnableAutoConfiguration ComponentScan(excludeFilters { Filter(type FilterType.CUSTOM, cl…...

String str=new String(“tango“) 创建了几个对象?

面试回答 创建的对象数 应该是1个或者2个。 首先要清楚什么是对象&#xff1f; Java 是一种面向对象的语言&#xff0c;而 Java 对象在 JVM 中的存储也是有一定的结构的&#xff0c;在 HotSpot 虚拟机中&#xff0c;存储的形式就是 oop-klass model&#xff0c;即 Java 对象模型…...

引入三阶失真的非线性放大器的模拟输出及使用中值滤波器去除峰值研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

【观察者设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介 观察者模式&#xff08;Observer Pattern&#xff09;是一种行为型模式。它定义对象间的一种一对多的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于它的对象都得到通知并被自动更新。 观察者模式使用三个类Subject、Observer和Client。Subject…...

精细解析中文公司名称:智能分词工具助力地名、品牌名、行业词和后缀提取

精细解析中文公司名称&#xff1a;智能分词工具助力地名、品牌名、行业词和后缀提取 中文公司名称分词工具&#xff0c;支持公司名称中的地名&#xff0c;品牌名&#xff08;主词&#xff09;&#xff0c;行业词&#xff0c;公司名后缀提取。 对公司名文本解析&#xff0c;识…...

网络编程(JavaEE初阶系列10)

目录 前言&#xff1a; 1.网络编程的基础 1.1为什么需要网络编程 1.2什么是网络编程 1.3网络编程中的基本概念 1.3.1发送端和接收端 1.3.2请求和响应 1.3.3客户端和服务端 2.Socket套接字 2.1概念 2.2分类 3.UDP数据报套接字编程 3.1DataGramSocket API 3.2Datagr…...

Git常用的指令

Git常用的指令 OMMP提交代码的流程 0、配置&#xff1a; git config --list 查看当前配置 git congig --global user.name user 这个会显示你的提交到git的名字 格式&#xff1a;git config [–local|–global|–system] –unset section.key 格式&#xff1a;git config [–l…...

LoadRunner(2)

一、Controller 1.1场景设计 1.通过VUG打开 施压机器&#xff1a;发起请求的角色(用户本地电脑) 被压机器&#xff1a;处理请求的角色(服务器) 2.直接双击Controller 场景设计&#xff1a;需要关注三个部分 第一部分&#xff1a; 第二部分&#xff1a; 2.1运行场景…...

CTF之逆向之阿里巴巴

题目地址&#xff1a;http://www.shiyanbar.com/ctf/13 题目预览&#xff1a; 解题过程&#xff1a; 1、下载附件发现是exe文件 2、使用PEid和Detect It Easy查壳 和 开发语言&#xff0c;发现没有加壳&#xff0c;都是用C#开发的 3、C#和Java Python属于解释型语言&#xff…...

Labview控制APx(Audio Precision)进行测试测量(五)

驱动程序 VIs如何处理配置设置中的单元 APx500 应用程序具有复杂的控件&#xff0c;具有以下功能: 数值和单位组合在一个控制中(例如&#xff0c;1.000 Vrms ) •值转换为 SI 格式(例如&#xff0c;1.000 mVrms 或 1.000 μVrms) •单位之间的转换发生在控制(例如&#xff0c;V…...

在单元测试中使用Jest模拟VS Code extension API

对VS Code extension进行单元测试时通常会遇到一个问题&#xff0c;代码中所使用的VS Code编辑器的功能都依赖于vscode库&#xff0c;但是我们在单元测试中并没有添加对vscode库的依赖&#xff0c;所以导致运行单元测试时出错。由于vscode库是作为第三方依赖被引入到我们的VS C…...

django boostrap html实现可拖拽的左右布局,鼠标拖动调整左右布局的大小或占比

一、实现的效果 最近需要在Django项目中,实现一个左右布局的html页面,页面框架使用的是boostrap。但这个布局不是简单的左右分栏布局,而是需要实现可以通过鼠标拖拽的方式动态调整左右两侧布局的大小和占比。效果大致如下: 一开始,页面分为左右两块布局: 鼠标放到中间的…...

谈谈闭包和闭包使用场景

一、什么是闭包 概念&#xff1a;闭包还是作用域的一种特殊应用 二、触发闭包的情况 1.函数当做返回值被返回 2.函数当做参数被传递 3.自执行匿名函数 //情况1&#xff1a;函数当做返回值被返回 function fn(){const a 1;return function(){console.log(a) //1}; } const a …...

MATLAB算法实战应用案例精讲-【图像处理】边界框锚框

目录 目标检测 应用场景 目标检测发展历程 常用数据集 边界框(bounding box)...

04什么场景要用到微服务

一句话导读 根据微服务的特点&#xff0c;可以总结为在构建复杂的、大型的、分布式的、高可用、高并发、高性能的应用时可以使用微服务架构。 目录 一句话导读 一、微服务适用场景 1.业务复杂&#xff0c;模块多且相对独立 2.团队多&#xff0c;管理隔离 3.应用规模大&#…...

.NET SqlSuger 简单介绍,超快开发数据库

文章目录 前言SqlSugar使用我的环境Nuget 安装新建连接串DB First 和 Code First使用增删改查 总结 前言 我之前介绍过EFCore 怎么使用Nuget快速创建数据库&#xff0c;我之后发现SqlSugar更快。这里简单再说一下SqlSugar如何使用 .NET Core 数据库DB First自动生成&#xff0…...

SpringBoot复习:(28)【前后端不分离】自定义View

一、自定义View package cn.edu.tju.view;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.stereotype.Comp…...

springcloud3 springcloud stream的学习以及案例(了解)

一 springcloud stream的作用 1.1 springcloud stream作用 stream屏蔽底层消息中间件的差异&#xff0c;降低切换成本&#xff0c;统一消息的编程模型。 stream中的消息通信模式遵循了“发布-订阅”模式。 1.2 Binder作用 通过定义绑定器Binder作为中间层&#xff0c;实现…...

Kotlin理解内置函数

目录 一 内置函数1.1 apply 函数1.2 let 函数1.3 run函数1.4 with函数1.5 also函数1.6 takeIf函数1.7 takeUnless函数1.8 总结 Kotlin内置函数包括&#xff1a;let、run、with、apply、also&#xff0c;这些函数都是在Any类中定义的扩展函数&#xff0c;所以任何对象都可以调用…...

第七章 电感的滤波原理

一 公式1.1 感抗公式:感抗&#xff08;欧姆&#xff09; f:信号源的频率&#xff08;HZ&#xff09; L&#xff1a;电感量&#xff08;亨利H&#xff09;1.2 截至频率&#xff1a;电路截止频率&#xff08;单位&#xff1a;Hz&#xff09;R&#xff1a;和电感 L 串联的实体…...

新药研发避坑指南:如何用ADMET预测工具(如ADMETlab 2.0)提前筛掉“问题分子”?

新药研发避坑指南&#xff1a;如何用ADMET预测工具提前筛掉"问题分子"&#xff1f; 在药物研发的漫长征程中&#xff0c;最令人沮丧的莫过于投入大量资源后&#xff0c;发现候选分子因ADMET&#xff08;吸收、分布、代谢、排泄和毒性&#xff09;问题而功亏一篑。据统…...

算法空间复杂度优化与内存效率提升实践

1. 算法空间复杂度的演进与内存优化全景在计算机科学领域&#xff0c;我们常常关注算法执行速度的优化&#xff0c;却容易忽视另一个同等重要的维度——内存使用效率。空间复杂度作为衡量算法内存需求的核心指标&#xff0c;正随着数据规模的爆炸式增长而变得愈发关键。想象一下…...

小升初英语衔接轻创业,KISSABC 落地全拆解

小升初英语衔接是一个家长付费意愿强、决策周期相对较短的细分市场。小学高年级家长对孩子的英语水平有清醒认知&#xff0c;知道初中英语和小学英语的难度差距&#xff0c;愿意为有效的衔接方案买单。对于想切入教育赛道的创业者来说&#xff0c;锁定这个群体是一个需求明确、…...

Morefine M600 6900HX迷你主机深度评测与性能分析

1. 开箱与硬件解析&#xff1a;Morefine M600 6900HX迷你主机的工业设计当我第一次拿到Morefine M600 6900HX时&#xff0c;最直观的感受就是其紧凑的尺寸与扎实的做工。这款三围仅14914540mm的金属方盒&#xff0c;重量控制在860g左右&#xff0c;比多数教科书还要小巧。全金属…...

基于 Docker 与 Nginx 构建高可用 Photopea 私有化部署方案

1. Photopea私有化部署的价值与场景 Photopea作为一款功能强大的在线图像编辑工具&#xff0c;其私有化部署对于设计团队和企业内部协作具有重要意义。想象一下这样的场景&#xff1a;一个10人左右的设计团队&#xff0c;每天需要处理大量PSD文件&#xff0c;如果每个人都使用本…...

LSGAN原理与Keras实现:解决GAN训练梯度消失问题

1. LSGAN基础概念与核心优势在传统GAN训练过程中&#xff0c;鉴别器&#xff08;Discriminator&#xff09;使用Sigmoid交叉熵损失函数&#xff0c;这容易导致梯度消失问题——当生成样本与真实样本差距较大时&#xff0c;梯度会变得非常小&#xff0c;使得生成器&#xff08;G…...

从LUT到CLB:手把手教你估算Xilinx 7系列FPGA到底能装下多少逻辑

从LUT到CLB&#xff1a;FPGA资源估算的工程实践指南 在FPGA项目规划阶段&#xff0c;最令人头疼的问题莫过于&#xff1a;"这款芯片到底能不能跑得动我的设计&#xff1f;"作为工程师&#xff0c;我们既不愿因资源不足导致项目返工&#xff0c;也不想为过剩的性能支付…...

解锁AMD Ryzen全部潜力:SMUDebugTool硬件调试工具完全指南

解锁AMD Ryzen全部潜力&#xff1a;SMUDebugTool硬件调试工具完全指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:…...

【学习笔记】车道线识别——图像处理方法

一、图像基本知识 1. HLS&#xff1a;色相&#xff0c;亮度&#xff0c;饱和度 色相通道&#xff1a;确定颜色 亮度通道&#xff1a;亮度信息 饱和度通道&#xff1a;饱和度信息对于颜色区分鲜艳程度很关键。 二、视频读取示例 import cv2if __name__ __main__:video c…...