本文实例讲述了JSP下载服务器文件的方法。分享给大家供大家参考,具体如下:
<%@page import=\"java.io.FileInputStream\"%> <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"> <%@page language=\"java\" contentType=\"text/html; charset=UTF-8\"%> <%@page import=\"com.ecc.emp.core.Context\" %> <%@page import=\"java.io.File\" %> <%@ include file=\"http://www.xxxx.com/head.jsp\"%> <% boolean loadFlag = false; ServletOutputStream ou = null; FileInputStream fis = null; try{ Context context=(Context)request.getAttribute(\"context\"); String accountFilePath = (String)context.getDataValue(\"accountFilePath\"); //String accountFilePath =\"E:/ComeBack/Acc_BOS_CM/WebContent/upload/product/1336873410414custormerStatement.txt\"; //String accountFileName = (String)context.getDataValue(\"accountFileName\"); String displayFileName = (String)context.getDataValue(\"displayFileName\"); //String displayFileName =\"custormerStatement.txt\"; String fullPath =accountFilePath; response.reset(); response.setContentType(\"charset=UTF-8\"); response.setContentType(\"text/HTML\"); //response.setContentType(\"application/vnd.ms-excel\"); String filename = new String(displayFileName.getBytes(\"gb2312\"), \"ISO8859-1\"); response.setHeader(\"Content-Disposition\",\"attachment; filename=\" + filename); //解决HTTPS不能下载的问题 response.setHeader(\"Cache-Control\",\"public\"); ou = response.getOutputStream(); File file = new File(fullPath); fis = new FileInputStream(file); try { if (fis != null) { int filelen = fis.available(); byte a[] = new byte[filelen]; fis.read(a); ou.write(a); ou.flush(); } loadFlag=true; } catch (Exception e) { System.out.println(\"Excel is not exist!\"); } out = pageContext.pushBody(); }catch(Exception e){ e.printStackTrace(); }finally{ try { fis.close(); ou.close(); ou = null; response.flushBuffer(); } catch (Exception e) { // TODO 自动生成 catch 块 e.printStackTrace(); } } %>
希望本文所述对大家JSP程序设计有所帮助。
本文地址:https://www.stayed.cn/item/6391
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我