spring boot+angularjs文件下载设置setHeader
2017-12-07 12:58
501 查看
1.根据前台传的code,得到对应的文件,这里处理的是excel和word,将文件的后缀名存入“Content-Type”,这里要在得到文件对应的byte[]之前设置setHeader,否则不生效
后端实现:
2.HTML加入
文件上传的按钮只显示word和excel这两个类型
3.angularjs
后端实现:
@RequestMapping(value = "/get-file", method = GET) @ResponseBody public void getFile(@RequestParam String majorCode,@RequestParam String minorCode,HttpServletResponse rsp) throws IOException{ String suffix = service.getSuffix(majorCode, minorCode); byte[] bb = service.getFile(majorCode, minorCode); if(suffix == null) { rsp.setHeader("Content-Type", "null"); } if(suffix!=null) { if(suffix.equals("xlsx")) rsp.setHeader("Content-Type", "xlsx"); else if(suffix.equals("xls")) rsp.setHeader("Content-Type", "xls"); else if(suffix.equals("doc")) rsp.setHeader("Content-Type", "doc"); else if(suffix.equals("docx")) rsp.setHeader("Content-Type", "docx"); else rsp.setHeader("Content-Type", "null"); } rsp.getOutputStream().write(bb); }
2.HTML加入
文件上传的按钮只显示word和excel这两个类型
<input name="file" data-ngf-select type="file" style="display: none" id="hiddenFile" ng-model="uploadCtrl.file" ng-show="false" ngf-max-size="{{uploadCtrl.maxFileSize}}" ngf-change="uploadCtrl.invalidFile()" accept="application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/msword">
3.angularjs
function downloadTemplate(){ statusChangeTypeDao.getFileUrl(vm.item.majorCode, vm.item.minorCode ,function(response,status, headers, config){ if(headers('Content-Type') == "xlsx"){ FileExport.export(response,"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;", "信息.xlsx"); }else if(headers('Content-Type') == "xls"){ FileExport.export(response,"application/vnd.ms-excel;", "信息.xls"); }else if(headers('Content-Type') == "docx"){ FileExport.export(response,"application/vnd.openxmlformats-officedocument.wordprocessingml.document;", "信息.docx"); }else{ FileExport.export(response,"application/msword;", "信息.doc"); } }) }
相关文章推荐
- spring boot+angularjs实现文件上传
- springBoot上传文件大小设置
- SpringBoot+AngularJS导出数据库数据到excel
- SpringBoot下文件上传与下载的实现
- 初次搭建SpringBoot环境,无法找到js文件
- SpringBoot文件上传下载和多文件上传(图文详解)
- Springboot文件下载代码
- Spring Boot+AngularJS+BootStrap实现进度条示例代码
- springboot(2)-springboot中的配置文件设置之(修改访问端口和访问路径)
- springboot实现文件上传和下载功能
- SpringBoot下文件上传与下载的实现
- SpringBoot文件上传下载和多文件上传(图文详解)
- springboot项目的resource文件下的资源文件通过浏览器下载到本地
- Spring Boot+AngularJS+BootStrap实现进度条
- 有关于springBoot2.0找不到js文件的说明
- 试用了一下SpringBoot+AngularJS的工程生成器JHipster
- Spring Boot Rest Service 下载文件
- Spring boot实现文件上传下载
- Spark/Docker/Spring Boot/Bootstrap/AngularJS介绍
- SpringBoot下文件上传与下载的实现