spring MVC 文件下载

用了一下午时间,做了个文件下载,

在网上搜索后台下载代码:

 1 public static ResponseEntity<byte[]> download(String path) {
 2         File file = new File(path);
 3         try {
 4             HttpHeaders headers = new HttpHeaders();
 5             String fileName = new String(file.getName().getBytes("UTF-8"), "iso-8859-1");
 6             headers.setContentDispositionFormData("attachment", fileName);
 7             headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
 8             System.out.println(new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file), headers, HttpStatus.OK));
 9             return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file), headers, HttpStatus.OK);
10         } catch (IOException e) {
11             System.out.println(e.getMessage());
12         }
13         return null;
14     }

 

使用后,下载下来的所有文件都有问题,,不死心的我,继续搜索,,大都是上面的代码,就在我要失去信心的时候,,实然发现,有一篇文章:    Spring MVC 文件下载最佳实践

原来,还要在xml文件里面设置

 

<bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <constructor-arg value="UTF-8" />
            </bean>
            <!-- 将Jackson2HttpMessageConverter的默认格式化输出为false -->
            <!-- 加入这一句 -->
            <bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/>
            <!-- 加入这一句 -->
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">

 

,到此,问题解决,,浪费了一下午的时间,却是别人早就解决的问题,搜索的内容,多数都一样,一篇解决不了的问题,,7,8篇也解决不了

在此,希望,不要复制粘贴,经过实践后,再上传代码。

posted @ 2017-12-21 18:34  会飞的鱼9999  阅读(209)  评论(0编辑  收藏  举报