11-文件上传

文件上传和下载的原理

image


文件上传


从浏览器上传文件的时候需要对文件进行限制

这个限制是在配置文件里面配置
一以下是SpringMVC的配置方式(后续使用springboot的时候会比这个简单)
image


文件上传的实现


1.文件上传的依赖

image

2.上传单个文件

  • 表单的实现
    image
  • 添加action 找到对应的接口
    image
  • 如果是提交文件那么表单的请求方式是post因为post方式没有大小限制
    image
  • 前端上传是默认以字符串方式传递的,而我们的文件是字节,不是字符串,所以此时需要指定以字节的方式上传
    image

  • 接口的实现
    文件被封装在MultipartFile里面
    image

  • 此时后端确实已经接收到了文件
    image

  • 此时将后端接收到的文件保存到磁盘
    image
    image
  • 处理异常!如果没有上传文件就不做IO
    image
  • 异常处理:防止用户篡改页面,所以判断文件是否存在

image

  • 文件异常:如果上传的文件名是相同的话怎么办?==》此时将文件名改为随机数或者是时间相关的东西
    image
  • 文件异常:万一文件没有后缀怎么办呢???此时截取不了文件后缀。所以在上传文件的时候保证文件要有一个“点”==》“.”
    image

3.上传多个文件:加一个multiple

  • 表单的实现
    image

  • 接口实现
    刚才上传单个文件的时候是使用一个对象接收,所以现在使用数组接收就OK了,其他逻辑基本和上面的一样。
    所以就只是加一个数组+遍历
    image
  • 问题:万一数组为空?(由前端没有key导致)
    image
  • 问题:一个文件没提交
    image
posted on 2025-10-27 17:17  笨忠  阅读(0)  评论(0)    收藏  举报