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

学习笔记:黑马程序员JavaWeb开发教程(2025.3.24)

11.2 案例-文件上传-简介
    火狐浏览器可以看到文件上传传递的底层数据,而chrome对这一块数据进行了包装
    在输出日志代码处打了一个断点,看服务端接收到的数据,在上传文件的保存地址中,可以看到,有三个临时文件(.tmp),分别对应三个提交的表单项。放行之后,再看,三个临时文件不见了,只要文件上传请求响应完毕之后,临时文件会被自动删除,所以除了上传文件,还需要保存文件

11.3 案例-文件上传-本地存储
    存储分为本地存储和云存储。本地存储可以使用MultipartFile这个api中的方法.transferTo方法来实现;原始文件名获取使用.getOriginalFilename。其中会抛出异常,直接在方法参数处抛出异常throws Exception就可以了
    通过postman完成文件上传,网址正常写,但是选择Body中的from-data,在下面指定表单项的内容
    代码优化,上传同名文件时,会被覆盖,问题在于是使用原始文件名直接存储的,为了保证不被覆盖,应该构造唯一的文件名,采用uuid解决。Uuid:通用唯一识别码,长度固定的字符串,不会重复;使用UUID.randomUUID()方法来生成,使用UUID.randomUUID().toString()来获取到UUID的字符串。构造新的文件名还需要扩展名,所以要在得到的UUID后面加上扩展名

http://www.dtcms.com/a/144560.html

相关文章:

  • 海拔与大气压关系,大气压单位,气压传感器对比
  • DeepSeek与ECharts融合助力复杂图表高效制作
  • 声音识别(声纹识别)和语音识别的区别
  • python爬虫复习
  • SpringBoot 知识图谱
  • 小迪第10天http/s数据包
  • uni-app中map的使用
  • idea中导入从GitHub上克隆下来的springboot项目解决找不到主类的问题
  • FastAPI:现代高性能Python Web框架的技术解析与实践指南
  • PCA 降维实战:从原理到电信客户流失数据应用
  • Vue如何实现样式隔离
  • QML中日期处理类
  • Oracle 23ai Vector Search 系列之6 向量相似性搜索(Similarity Search)
  • SpringBoot3集成ES8.15实现余额监控
  • 2. 什么是最普通的自动化“裸奔状态”?
  • 【Rust基础】使用Rocket从Token中提取用户信息
  • (mac)Grafana监控系统之监控Linux的Redis
  • Java基础类库常用类库 java.lang、java.util
  • 奇异递归模板设计模式-CRTP
  • Retinex系列图像/视频增强算法介绍
  • Docker Registry(镜像仓库)
  • Java开发软件
  • C++项目 —— 基于多设计模式下的同步异步日志系统(5)(单例模式)
  • Gen - CDPT举例说明:动态上下文前缀(输入先和标签结合,输出结果会更贴近标签内容)
  • 【ROS】航点导航功能
  • 解决vscode找不到Python自定义模块,报错No module named ‘xxx‘
  • 【Redis】Redis中的常见数据类型(一)
  • 通过爬虫方式实现头条号发布视频(2025年4月)
  • 常见的页面报错
  • Spring MVC 如何体现 Model-View-Controller 各自的职责?它们之间是如何协作的?