码迷,mamicode.com
首页 > 编程语言 > 详细

Spring MVC 的文件下载

时间:2017-09-17 15:02:26      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:headers   文件名   tco   定义   down   file   sep   nload   mapping   

在看Spring MVC文件下载之前请先看Spring MVC文件上传

地址:http://www.cnblogs.com/dj-blog/p/7535101.html

文件下载比较简单,在超链接中指定文件下载的文件名就可以了。

springMVC提供了一个ResponseEntity类型,可以方便的定义返回的HttpHeads和HttpStatus。

在FileUploadController中加入下面这个controller

@RequestMapping("/download")
    public ResponseEntity<byte[]> download(HttpServletRequest request,
            @RequestParam("filename") String filename,Model model) throws Exception{
        
        //下载文件路径
        String path = request.getServletContext().getRealPath("/images/");
        File file = new File(path+File.separator+filename);
        HttpHeaders headers = new HttpHeaders();
        //下载显示的文件名,解决中文名字乱码问题
        String downloadFileName = new String(filename.getBytes("utf-8"),"iso-8859-1");
        //通知浏览器已下载方式打开图片
        headers.setContentDispositionFormData("attachment", downloadFileName);
        //二进制数据下载
        headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
        
        return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers,HttpStatus.CREATED);
        
    }

然后就可以部署项目运行,可以看到如下结果

技术分享

 

Spring MVC 的文件下载

标签:headers   文件名   tco   定义   down   file   sep   nload   mapping   

原文地址:http://www.cnblogs.com/dj-blog/p/7535340.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!