19.10.30笔记-文件下载

1,文件下载的流程:上传文件到服务器上,然后从服务器上输出到浏览器上供用户下载,如果是批量下载的话,则多一个步骤,上传服务器,然后打包,下载。

1.1 上午遇到的问题:需要批量下载文件,这就需要先上传每个文件到服务器,然后统一打包下载。总体的思路有问题,也体会到了函数的魅力:自己的做法: 1. 将上传服务器的过程写入到导出每个文件的过程中了,这就导致如果批量导出,需要导出单个文件的内容,但是导出每个文件里面都有request和response对象,然后批量导出的话也有request和response对象,这就导致下载框出不来;解决方案:将上传服务器的过程封装成工具类中的一个方法,然后调用上传服务器的代码,解决了多个request和response对象和下载框无法出来的现象。现在待解决的问题:下载到浏览器的代码在controller层中冗余量太多,也需要封装成方法。在controller层的时候只能调用包,尽量少一些大量逻辑判断代码,整洁controller层。

  1. 如果采用ajax的话并且需要传入数组,则不能使用下载框,具体写法可以写成这样image-20191030204536841后台接收的话:image-20191030204621635

location.href='/case/exportSelectedCases/'+selects;
@RequestMapping("/exportSelectedCases/{selects}")
public void exportSelectedCases(@PathVariable String[] selects, HttpServletRequest request,HttpServletResponse response) throws IOException, TemplateException {

 posted on 2019-10-30 20:47  ben跑的换行符  阅读(94)  评论(0编辑  收藏  举报