Spring MVC文件上传和下载

示例——上传文件

前端为了能上传文件,必须将表单的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)返回客户端下载

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容