表单文件上传下载ajax方式返回值
2016-06-28 15:47
260 查看
页面引入:jquery-form.js function importSaleOrder(){ var file=$("#file").val(); if(file!=""){ $("#errorInfo").html(""); $("#downErrorFile").hide(); var form = $("form[id=importSaleOrderFrom]"); var options = { url:ctx+'/warehouse-out/importBatchWhoutSaleOrder.jhtml', type:'post', success:function(data) { var fileName = data.filePath; var errors = data.errors; $("#errorInfo").html(errors); $("#downErrorFile").show(); $("#downErrorFile").attr("href",ctx+'/warehouse-out/downloadExcel.jhtml?fileFileName='+fileName); } }; form.ajaxSubmit(options); }else{ alert("请选择文件!"); } } 下载: public String downloadExcel(){ String realPath = ServletActionContext.getServletContext().getRealPath("/")+"/upload"; File file = new File(realPath,fileFileName); downloadExcel(file, response); return null; } /** * 报表文件下载 * @param file * @param response */ public void downloadExcel(File file, HttpServletResponse response) { try { // 取得文件名。 String filename = file.getName(); String userAgent = request.getHeader("USER-AGENT"); String finalFileName = null; if(StringUtils.contains(userAgent, "MSIE")){//IE浏览器 finalFileName = URLEncoder.encode(filename,"UTF8"); }else if(StringUtils.contains(userAgent, "Mozilla")){//google,火狐浏览器 finalFileName = new String(filename.getBytes(), "ISO8859-1"); }else{ finalFileName = URLEncoder.encode(filename,"UTF8");//其他浏览器 } // 以流的形式下载文件。 InputStream fis = new BufferedInputStream(new FileInputStream(file)); byte[] buffer = new byte[fis.available()]; fis.read(buffer); fis.close(); // 清空response response.reset(); // 设置response的Header response.addHeader("Content-Disposition", "attachment;filename=" + finalFileName); response.addHeader("Content-Length", "" + file.length()); OutputStream toClient = new BufferedOutputStream( response.getOutputStream()); response.setContentType("application/vnd.ms-excel;charset=gb2312"); toClient.write(buffer); toClient.flush(); toClient.close(); } catch (IOException ex) { ex.printStackTrace(); } if(file.exists()){ file.delete(); } } <form id="importSaleOrderFrom" action="${pageContext.request.contextPath}/warehouse-out/importBatchWhoutSaleOrder.jhtml" method="post" enctype="multipart/form-data"> <div class="col-md-7"> <div class="form-group"> <input id="file" type="file" name="file" onchange="clearForm()" > </div> <input type="button" value="导入解析" onclick="importSaleOrder()" /> <label id="errorInfo" style="margin-left:20px;color: red;"></label> <a href="#" style="display: none" id="downErrorFile" style="margin-left:40px;">下载文件</a> </div> </form>
相关文章推荐
- slf4j 和 log4j合用的(Maven)配置
- android GPS 定位
- Mysql触发器总结
- jQuery EasyUI DataGrid Checkbox 数据设定与取值
- websphere 发布配置
- NSIS创建快捷方式增加起始位置的解决教程
- 树莓派启动浏览器
- ionic入门教程第二十课-在微信中使用ionic的解决方案(开源框架)
- day_03文件操作模式
- 局域网内mysql连接慢的解决办法
- Hive : UDFArgumentTypeException Exactly one argument is expected.
- ecpilse中properties文件中文乱码问题,ASCII码
- Android中使用Canvas绘制简单的图形(一)
- 服务端入门《七》(Core Dump )
- c:forEach 两列显示图片
- windowmanager 几个焦点总结
- 在64位的windows server 2003运行IIS6运行32位的.NET程序(转)
- CentOS 6.3 下 vsftpd 匿名用户访问配置
- 我所理解的性能测试是什么?
- WAS 日志分析(websphere application server)