当前位置: 首页 > 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

http://www.lryc.cn/news/119900.html

相关文章:

  • 第九章 SpringBoot 自动配置原理 入门
  • String str=new String(“tango“) 创建了几个对象?
  • 引入三阶失真的非线性放大器的模拟输出及使用中值滤波器去除峰值研究(Matlab代码实现)
  • 【观察者设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
  • 精细解析中文公司名称:智能分词工具助力地名、品牌名、行业词和后缀提取
  • 网络编程(JavaEE初阶系列10)
  • Git常用的指令
  • LoadRunner(2)
  • CTF之逆向之阿里巴巴
  • Labview控制APx(Audio Precision)进行测试测量(五)
  • 在单元测试中使用Jest模拟VS Code extension API
  • django boostrap html实现可拖拽的左右布局,鼠标拖动调整左右布局的大小或占比
  • 谈谈闭包和闭包使用场景
  • MATLAB算法实战应用案例精讲-【图像处理】边界框锚框
  • 04什么场景要用到微服务
  • .NET SqlSuger 简单介绍,超快开发数据库
  • SpringBoot复习:(28)【前后端不分离】自定义View
  • springcloud3 springcloud stream的学习以及案例(了解)
  • Kotlin理解内置函数
  • 手机app测试
  • Centos部署Git
  • k8s 控制器
  • 谷歌关闭跨域限制.(生成一个开发浏览器),Chrome关闭跨域
  • 实践指南-前端性能提升 270% | 京东云技术团队
  • 8月11日上课内容 nginx的多实例和动静分离
  • 腾讯云CVM服务器端口在安全组中打开!
  • k8s、docker添加daemon.json添加“exec-opts“: [“native.cgroupdriver=systemd“]后无法启动的问题
  • React组件性能优化实践
  • SpringBoot复习:(29)静态资源的配置路径
  • mysql延时问题排查