ajax 文件下载

作为一个后端开发人员,使用java 生成文件,提供前端下载,这个问题倒不大,可是让我们自己去下载文件的时候,这个问题就大了,对不起,我只对前端一知半解,并不精通,谢谢!!

需求如下:前端检索数据,后台获取数据并生成Excel,提供前端下载

思路:前端提交条件参数,后台查询数据库,生成Excel,前端再下载,常用方法,使用get 的方式下载,就是链接拼参数的形式,但是,参数可能会出现空值,这样会导致链接会出现异常(因后台框架而异,并不是所有框架都这样),所以,我这次使用的是ajax 的方式去下载文件,查了很多资料,都说不行,查了好久,后面查到了一个叫做 fileDownload 的东西,大致上的意思是能像 ajax的形式去下载文件,等会我会上传这个文件。废话多了,咋们上代码吧,后台代码我就不贴了,框架不同,实现方式也不同,但是前端的实现方式是差不多的,我就直接上前端代码,希望大家能看懂!!!

 把下面的js 库下载并且引入,就可以使用了,大致使用方式将就以下这样,不难理解吧?

$.fileDownload("${base}/platform/losys/factory/dataImport/exportFile/",{ // 后台请求链接
            httpMethod : "post",        // 请求方式
            contentType:'application/json',  // 请求头
            data : {               // 参数,左边为后台接收的参数名,右边为前端获取的值,
                tbName : tbName,
                factory : factory,
                addressee : addressee,
                phone : phone,
                objectContent : objectContent,
                date1 : date1,
                date2 : date2,
                logisticsNo : logisticsNo,
            }
        })

 js 库的下载地址:

https://files.cnblogs.com/files/xjbBill/jquery.fileDownload.zip

posted @ 2018-12-25 14:34  26个字符的地狱  阅读(758)  评论(0编辑  收藏  举报