第十六章 文章上传和下载

文件上传

  • 多数文件上传都是通过表单形式提交给后台服务器,因此,要实现文件上传,就要提供一个文件上传的表单,而该表单必须满足的条件有3个,如下:


    第十六章 文章上传和下载_第1张图片

    第十六章 文章上传和下载_第2张图片
    文件上传表单示例
  • 当form表单的enctype属性为multipart/form-data时,浏览器就会采用二进制流处理表单数据,服务器端就会对文件上传的请求进行解析处理。Spring MVC通过MultipartResolver实现文件上传。MultipartResolver是一个接口对象,需要通过它的实现类CommonsMultipartResolver来完成文件上传
    第十六章 文章上传和下载_第3张图片
    MultipartResolver配置实例
  • 还通过元素配置了编码格式以及允许上传文件的大小。通过元素可以对文件解析器类CommonsMultipartResolver的如下属性进行配置:


    第十六章 文章上传和下载_第4张图片
    CommonsMultipartResolver的属性配置

    第十六章 文章上传和下载_第5张图片
    注意

    第十六章 文章上传和下载_第6张图片
    文件上传代码
如何编程实现文件上传功能?实现方式与流程
    1. 配置文件上传解析器 MultipartResolver;
    1. 设置解析器属性,比如设置请求编码格式,解决中午乱码问题;
    1. 使用@Controller标注,编写控制器类;
    1. 使用@RequestMapping("/fileUpload")标注,开发上传函数,实现文件上传后的判断、保存功能;
    1. 编写客户端jsp文件,利用表单Form,指定第4步的路径,设置表单的上传属性。最重要的是method属于与enctype属性

文件下载

文件下载步骤
  • 1、在 客户端页面使用一个文件下载的超链接,该链接的href属性要指定下载的方法及文件名(需要先在文件下载目录中添加一个名为“1.jpg”的文件)

  • 2、在后台使用Spring MVC提供的ResponseEntity类型对象完成文件下载,它可以很方便的定义返回的HttpHeaders对象和HttpStatus对象,通过对这两个对象的设置,即可完成下载文件时所需的配置信息

    第十六章 文章上传和下载_第7张图片

  • 文件下载中的ResponseEntity对象与@ResponseBody注解类似,用于直接返回结果对象


    第十六章 文章上传和下载_第8张图片
如何解决中文名文件下载乱码问题
  • 在前端页面发送请求前先对中文名进行统一编码,然后在后台控制器类中对文件名称进行相应的转码
    第十六章 文章上传和下载_第9张图片

    第十六章 文章上传和下载_第10张图片

你可能感兴趣的:(第十六章 文章上传和下载)