ajax 文件下载
Posted 26个字符的天堂
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于ajax 文件下载的主要内容,如果未能解决你的问题,请参考以下文章