SpringMVC文件上传及下载
文件上传及下载是 Web 项目中经常使用的功能,SpringMVC 可以很好地支持文件上传及下载;本节新建 SpringMVC-09-File 项目学习在 SpringMVC 中进行文件上传及下载。
1. 文件上传
1.1 前置知识
文件上传即从客户端向服务器传输数据,所以在客户端也需要有文件传输的支持!
前端页面的表单中的 enctype
属性就是用于设置传输格式的
-
application/x-www=form-urlencoded
:默认方式,只处理表单域中的 value 属性值,采用这种编码方式的表单会将表单域中的值处理成 URL 编码方式。 -
multipart/form-data
:这种编码方式会以二进制流的方式来处理表单数据,这种编码方式会把文件域指定文件的内容也封装到请求参数中,不会对字符编码(就是要用它了)。 -
text/plain
:除了把空格转换为 “+” 号外,其他字符都不做编码处理,这种方式可用于直接通过表单发送邮件。
<form action="" enctype="multipart/form-data" method="post">
<input type="file" name="file"/>
<input type="submit">
</form>
设置 enctype
为 multipart/form-data
后,浏览器就会采用二进制流的方式来处理表单数据,实现文件的传输。
在后端,使用 Servlet 也可以做到文件上传的接收(之前跳过了