下载模板前台需要一个连接,但是地址栏又不能填写中文,所以文件要以英文命名,但是下载下来要是中文名字,所以此处用一个文件进行重画:
matDown.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="java.io.OutputStream"%>
<%@page import="java.io.FileInputStream"%>
<%
String fileName="添加药品模板";
fileName = new String(fileName.getBytes("gb2312"), "ISO-8859-1");
String filePath=application.getRealPath("/")+"/template/addMaterial.xls";//application.getRealPath("/")+"相对根目录的路径";
response.setHeader("Content-Disposition", "attachment;filename="+fileName+".xls");
FileInputStream in = new FileInputStream(filePath); // 读入文件
OutputStream os = response.getOutputStream();
os.flush();
int aRead = 0;
while ((aRead = in.read()) != -1 & in != null)
{
os.write(aRead);
}
os.flush();
os.close();
in.close();
out.clear();
out = pageContext.pushBody();
%>