博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Java】数据库查询的数据直接以指定文件类型下载到本地(弹出下载框)
阅读量:6656 次
发布时间:2019-06-25

本文共 1986 字,大约阅读时间需要 6 分钟。

欲实现的功能目标:当点击下图的导出数据文件时弹出文件下载框,默认csv格式,用户自定义下载的本地路径

遇到的问题:

1.项目之前做过一次下载,但是是使用了本地文件模板。用输入流读取文件模板,插入数据,以输出流输出,弹出下载框下载。而这次的情况是不能在后台指定本地文件路径,也就是无法读取模板文件,直接将数据库查询出的数据写成指定格式并供用户选择地址下载。省去输入流读取本地文件一环。

2.下载框始终无法弹出,而是直接在页面显示数据。

 

解决:

1.

1 /** 2      * 导出CSV数据 3      * @return 数据 4      */ 5     @RequestMapping(value = "dataExport",method = RequestMethod.POST) 6     public void dataExport(HttpServletResponse response) throws Exception{ 7  8         //查询出需要打印的数据 9         List
list=sc182211Logic.findDataExport();10 11 //设置下载弹出框12 response.setContentType("application/csv;charset=gbk");13 response.setHeader("Content-Disposition","attachment;filename="+URLEncoder.encode("打印标签.csv", "UTF-8"));15 16 //新建打印输出对象17 PrintWriter out = response.getWriter();18 19 out.write("任务编码,操作码,阅读码,品牌名, 等级名"+"\n");20 for(DsPrintTask s:list){21 out.write(s.getPrintTaskId()+","+s.getOperateBar()+","+s.getReadBar()+","+s.getBrandName()+","+s.getGradeName()+"\n");22 }

2.下载框不弹出,文件内容在网页直接显示的原因是请求方式有问题。下面代码中的

$("#main-content").postUrl(Main.contextPath + "/SC182211/dataExport");是用的公司框架里自己封装的JS方法,使用这个会造成下载框不弹出的问题。于是使用后面的form表单提交方法
1 $("#SC182211_EXPORT").click(function(){ 2            // $("#main-content").postUrl(Main.contextPath + "/SC182211/dataExport"); 3  4                 var form = $("
"); //定义一个form表单 5 form.attr('style', 'display:none'); //在form表单中添加查询参数 6 form.attr('target', ''); 7 form.attr('method', 'post'); 8 form.attr('action', "/msk-web/SC182211/dataExport"); 9 10 var input1 = $('
');11 input1.attr('type', 'hidden');12 input1.attr('name', 'strUrl');14 $('body').append(form); //将表单放置在web中15 form.append(input1); //将查询参数控件提交到表单上16 form.submit();19 });

 

转载于:https://www.cnblogs.com/dflmg/p/5465108.html

你可能感兴趣的文章
GAN生成的结果多样性不足怎么办?那就再添一个鉴别器!
查看>>
iOS中 GCD-Grand Central Dispath 多线程 UI_21
查看>>
一个网站的做成,如何在互联网中健壮成长
查看>>
如何使用 UIFeedbackGenerator 让应用支持 iOS 10 的触觉反馈
查看>>
正则表达式【第二卷】
查看>>
美的推出全新智能家电互联互通协议
查看>>
看医生对人工智能医疗的真实反馈
查看>>
固定摄像头将失宠 巨无霸时代要结束?
查看>>
最受合作伙伴瞩目的5大新品和10大解决方案 科达2016巡展盘点
查看>>
不可思议的Word2Vec之系列四- 不一样的“相似”
查看>>
中国人工智能学会通讯——面向知识图谱的自然语言问答系统 2 语义解析式的知识库问答...
查看>>
阿里巴巴俞永福:DT时代将成为创业的黄金时代
查看>>
如何利用BGInfo绕过应用程序白名单?
查看>>
中国人工智能学会通讯——从演化计算到演化智能 1.2 现状
查看>>
中国移动研究院网络技术研究所所长段晓东:对网络转型与5G网络的发展思考...
查看>>
应用商店成恶意APP滋生新温床 190款感染应用让你措不及防
查看>>
从网管演进为IT运营管理平台 锐捷RIIL有什么不同?
查看>>
Petya最新进展之利用M.E.Doc后门
查看>>
关于混合云,很多人都会有这些误解
查看>>
给DevOps打上最佳实践的标签
查看>>