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

学习笔记:黑马程序员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.xdnf.cn/news/787.html

相关文章:

  • 数据库知识
  • MySQL -数据类型
  • ZYNQ笔记(十):XADC (PS XDAC 接口)
  • 【项目实训个人博客】数据集搜集
  • 成品检验工程师心得总结
  • 基于ESP32 - S3实现一个ping百度的C测试程序
  • linux 搭建 dvwa 渗透测试环境
  • 6.数据手册解读—运算放大器(三)
  • AI日报 - 2025年04月20日
  • LangChain 单智能体模式示例【纯代码】
  • Spring Boot 集成 Spring Cloud 的详细教程
  • 学习笔记—C++—string(练习题)
  • 基于 LWE 的格密码python实战
  • STM32 HAL库Freertos 信号量的使用
  • c++类与对象(一)
  • Postgresql几个常用的json操作
  • dubbo SPI插件扩展点使用
  • [RHEL8] 指定rpm软件包的更高版本模块流
  • 深度解析微前端架构设计:从monorepo工程化设计到最佳实践
  • day 22 作业
  • python 字符串解析 struct.unpack_from(fmt, buffer, offset=0) ‘<? B I‘
  • Datawhale 春训营 创新药赛道
  • 011数论——算法备赛
  • 解决IDEA创建SpringBoot项目没有Java版本8
  • 线性回归之归一化(normalization)
  • SAP IAS云产品简介
  • AI与思维模型【70】——遗忘曲线
  • 金融图QCPFinancial
  • Oracle--用户管理
  • 微信小程序上传腾讯云