首页 > 编程 > JSP > 正文

JSP下载服务器文件的方法

2024-09-05 00:22:24
字体:
来源:转载
供稿:网友

这篇文章主要介绍了JSP下载服务器文件的方法,涉及JSP文件传输的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了JSP下载服务器文件的方法。分享给大家供大家参考,具体如下:

 

 
  1. <%@page import="java.io.FileInputStream"%> 
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  3. <%@page language="java" contentType="text/html; charset=UTF-8"%> 
  4. <%@page import="com.ecc.emp.core.Context" %> 
  5. <%@page import="java.io.File" %> 
  6. <%@ include file="http://www.xxxx.com/head.jsp"%> 
  7. <% 
  8. boolean loadFlag = false
  9. ServletOutputStream ou = null
  10. FileInputStream fis = null
  11. try{  
  12. Context context=(Context)request.getAttribute("context"); 
  13. String accountFilePath = (String)context.getDataValue("accountFilePath"); 
  14. //String accountFilePath ="E:/ComeBack/Acc_BOS_CM/WebContent/upload/product/1336873410414custormerStatement.txt"; 
  15. //String accountFileName = (String)context.getDataValue("accountFileName"); 
  16. String displayFileName = (String)context.getDataValue("displayFileName"); 
  17. //String displayFileName ="custormerStatement.txt"; 
  18. String fullPath =accountFilePath; 
  19. response.reset(); 
  20. response.setContentType("charset=UTF-8"); 
  21. response.setContentType("text/HTML"); 
  22. //response.setContentType("application/vnd.ms-excel");  
  23. String filename = new String(displayFileName.getBytes("gb2312"), "ISO8859-1"); 
  24. response.setHeader("Content-Disposition","attachment; filename=" + filename); 
  25. //解决HTTPS不能下载的问题 
  26. response.setHeader("Cache-Control","public");  
  27. ou = response.getOutputStream(); 
  28. File file = new File(fullPath); 
  29. fis = new FileInputStream(file);  
  30. try { 
  31. if (fis != null) { 
  32. int filelen = fis.available(); 
  33. byte a[] = new byte[filelen]; 
  34. fis.read(a); 
  35. ou.write(a); 
  36. ou.flush(); 
  37. }  
  38. loadFlag=true
  39. catch (Exception e) { 
  40. System.out.println("Excel is not exist!"); 
  41. out = pageContext.pushBody(); 
  42. }catch(Exception e){ 
  43. e.printStackTrace(); 
  44. }finally
  45. try { 
  46. fis.close(); 
  47. ou.close(); 
  48. ou = null
  49. response.flushBuffer(); 
  50. catch (Exception e) { 
  51. // TODO 自动生成 catch 块 
  52. e.printStackTrace(); 
  53. %> 

希望本文所述对大家JSP程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表