Spring mvc ie下载出错
来源:互联网 发布:淘宝取消评价折叠 编辑:程序博客网 时间:2024/05/16 08:18
最近写了个站,关于团队的tips管理的,上线之前一直使用的谷歌浏览器做的测试。上线之后发现公司的默认给的浏览器是ie,导致出现很多问题。在使用ie下载文件时,表现为下载名为url,导致文件无法下载,服务器端代码如下:
@RequestMapping("download") public ResponseEntity<byte[]> download(String title) throws IOException { ApplicationContext context= null;String os = System.getProperty("os.name"); if(os.toLowerCase().startsWith("win")){ context=new ClassPathXmlApplicationContext("file:"+"src/main/webapp/WEB-INF/mvc-config.xml");}else{context=new ClassPathXmlApplicationContext("file:/home/cpta/tomcat8/webapps/ROOT/WEB-INF/mvc-config.xml");} TipService tipService =(TipService)context.getBean("tipService");System.err.println(title);Tip tip=tipService.findTipBytitle(title);String url=tip.getUrl(); String path=System.getProperty("user.dir")+url; File file=new File(path); String fileName = url.substring(url.lastIndexOf("/")+1); HttpHeaders headers = new HttpHeaders(); fileName=new String(fileName.getBytes("UTF-8"),"iso-8859-1");//为了解决中文名称乱码问题 headers.setContentDispositionFormData("attachment", fileName); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file), headers, HttpStatus.CREAT); }
在网上查了下,问题出在ie不支持HTTP Status 201的状态码。
HTTP Status 200 (成功)
-> 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。
HTTP Status 201 (已创建)
-> 请求成功并且服务器创建了新的资源。
参考:http://www.cnblogs.com/DeasonGuan/articles/Hanami.html
@RequestMapping("download") public ResponseEntity<byte[]> download(String title) throws IOException { ApplicationContext context= null;String os = System.getProperty("os.name"); if(os.toLowerCase().startsWith("win")){ context=new ClassPathXmlApplicationContext("file:"+"src/main/webapp/WEB-INF/mvc-config.xml");}else{context=new ClassPathXmlApplicationContext("file:/home/cpta/tomcat8/webapps/ROOT/WEB-INF/mvc-config.xml");} TipService tipService =(TipService)context.getBean("tipService");System.err.println(title);Tip tip=tipService.findTipBytitle(title);String url=tip.getUrl(); String path=System.getProperty("user.dir")+url; File file=new File(path); String fileName = url.substring(url.lastIndexOf("/")+1); HttpHeaders headers = new HttpHeaders(); fileName=new String(fileName.getBytes("UTF-8"),"iso-8859-1");//为了解决中文名称乱码问题 headers.setContentDispositionFormData("attachment", fileName); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file), headers, HttpStatus.OK); }
所以只要将HttpStatus.CREAT(201)改为HttpStatus.OK(200)
0 0
- Spring mvc ie下载出错
- Spring MVC 文件下载 - 兼容IE
- Spring MVC框架,IE不能正常下载
- spring mvc 下载文件,ie不支持解决
- eclipse spring mvc json ie下载文件
- IE 浏览器Spring mvc 返回json的下载提示
- Spring MVC 文件下载IE浏览器不支持的问题解决
- spring mvc 下载文件 IE浏览器文件名是乱码
- spring mvc 下载文件 IE浏览器文件名是乱码
- spring mvc 花式出错
- IE 8 下载控件出错
- 使用spring mvc做文件下载时ie浏览器文件名乱码和下载不了问题解决
- spring-mvc出错及解决方法
- Spring MVC 文件下载
- Spring mvc 文件下载
- spring mvc 文件下载
- Spring MVC下载文件
- spring mvc 文件下载
- mysql修改字段数据类型和名称
- BAT 相关
- C++11 并发指南一(C++11 多线程初探)
- 【图形和图像】三原色
- JAVA SSH ----Spring事务处理
- Spring mvc ie下载出错
- hdu1241
- 角色管理(只能看到当前账号权限树)
- hue搭建(hadoop的伪分布式环境)
- 修改linux中ROOT密码
- Delphi XE10 FDMemTable 数据保存本地和从本地加载
- Business: 出院小结(Discharge Summary)
- lib3ds教程:我的第一个模型
- 启动数据库报错systax error or unresolved network name ‘LISTENER_ORCL’