示例——上传文件
前端为了能上传文件,必须将表单的method设置为POST,并将enctype设置为multipart/form-data,此时,浏览器才会把用户选择的文件二进制数据发送给服务器。
服务端会使用MultipartFile对象接收上传的文件。在Spring MVC中需要配置MultipartResolver才能处理文件上传工作
前端代码
<html>
...
<form action="upload" enctype="multipart/form-data" method="post">
<table>
<tr>
<td>请选择文件:</td>
<td><input type="file" name="file"></td>
</tr>
<tr>
<td><input type="submit" value="上传"></td>
</tr>
</table>
</form>
</html>
后端代码
@RequestMapping(value="upload", method=RequestMethod.POST)
public String upload(
HttpServletRequest request, //用于获取上传文件路径
@RequestParam("file") MutipartFile //上传的文件会自动绑定到该属性)
{
//这里会利用request和MultipartFile完成文件的转储
}
文件的下载比较简单,前端页面给出超链接,指向要下载的文件名
<a href="download?filename=${requestScope.user.image.originalFilename}">
后端读取对应文件,构建ResponseEntity(可以方便的返回HttpHeaders和HttpStatus)返回客户端下载