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

快速入门——SpringBoot 文件上传和拦截器

学习自哔哩哔哩上的“刘老师教编程”,具体学习的网站为:4.SpringBoot文件上传+拦截器_哔哩哔哩_bilibili,以下是看课后做的笔记,仅供参考。

第一节:静态资源访问

使用IDEA创建SpringBoot项目,会默认创建出classpath:/static/目录,静态资源一般放在这个目录下(图片……),如果默认的静态资源过滤策略不满足开发需求,可以自定义静态资源过滤策略

在application.properties中直接定义过滤规则和静态资源位置

spring.mvc.static-path-pattern=/static/**
spring.web.resources.static-locations=classpath:/static/

过滤规则为/static/**,静态资源位置为classpath:/static/

第二节:文件上传

表单的enctype属性规定在发送到服务器之前因该如何对表单数据进行编码。当表单的enctype="application/x-www-form-urlencoded"(默认)时,form表单中的数据格式为:key=value&key=value。当表单的enctype="multipart/form-data"时,其传输数据形式如下

SpringBoot工程嵌入tomcat限制了请求的文件大小,每个文件的配置最大为1Mb,单词请求的文件的总数不能大于10Mb。要更改这个默认值需要在配置文件(如application.properties)中加入两个配置

spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB

 当表单的enctype="multipart/form-data"时,可以使用MultipartFile获取上传的文件数据,再通过transferTo方法将其写入磁盘中。

第三节:拦截器

拦截器再web系统中很常见,对于某些全局统一的操作,我们可以把它提到拦截其中实现,大致有以下几种使用场景:

        权限检查:登陆检测,进入处理程序检测是否登录,如果没有,直接返回登录页面。

        性能监控:优势系统再某段时间莫名奇妙的慢,可以通过拦截器在进入处理程序之前记录开始时间,在处理完后记录结束时间 ,从而得到该请求的处理时间。

        通用行为:读取cookie得到用户信息并将用户对象放入请求,从而方便后续流程使用,还有提取Locale,Theme信息等,只要是多个处理程序都需要的,即可是哟个拦截器实现。


http://www.kler.cn/a/555570.html

相关文章:

  • @RestController和@RequestBody注解含义
  • 25届国网计算机考试知识难点及习题整理(持续更新)
  • Nginx 负载均衡实战:构建高效稳定的 Web 服务
  • 低代码表单引擎刷新机制
  • JWT认证机制
  • 音视频入门基础:RTP专题(9)——FFmpeg接收RTP流的原理和内部实现
  • Python 高级特性-迭代
  • 【VUE3】Vue 3 中列表排序:单字段与多字段排序实现方案
  • C#基础:使用Linq进行简单去重处理(DinstinctBy/反射)
  • Vue实战【后端返回ArrayBuffer时,前端如何处理并成功下载ArrayBuffer文件】
  • 服务器mysql安装-docker容器化(保姆级教学)
  • 全单模矩阵及其在分支定价算法中的应用
  • 【C++第二十章】红黑树
  • Unity 聊天气泡根据文本内容适配
  • 深度学习-2.机械学习基础
  • 影刀RPA中级证书-Excel进阶-开票清单
  • 2025最新智能优化算法:鲸鱼迁徙算法(Whale Migration Algorithm,WMA)求解23个经典函数测试集,MATLAB
  • 访问者模式 Visitor Pattern
  • Elasticsearch 数据建模:从原理到实战的降维打击指南
  • MySQL Binlog 监听:Canal + Spring Boot 实战指南