本文实例讲述了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
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我