程序调试通过
filename不包括路径
<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="ISO-8859-1"%>
<%
response.setContentType("application/vnd.ms-excel");
response.setHeader("Location","myexcel.xls");
response.setHeader("Cache-Control","max-age=" + 1000);
response.setHeader("Content-Disposition","attachment; filename=" + "myexcel.xls");
File ex=new File("E:\\myexcel.xls");
int len=(int)ex.length();
response.setContentLength(len);
OutputStream outputStream = response.getOutputStream();
InputStream inputStream = new FileInputStream("E:\\myexcel.xls");
byte[] buffer = new byte[1024];
int i = -1;
while ((i = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, i);
}
outputStream.flush();
outputStream.close();
inputStream.close();
outputStream = null;
%>
filename不包括路径
<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="ISO-8859-1"%>
<%
response.setContentType("application/vnd.ms-excel");
response.setHeader("Location","myexcel.xls");
response.setHeader("Cache-Control","max-age=" + 1000);
response.setHeader("Content-Disposition","attachment; filename=" + "myexcel.xls");
File ex=new File("E:\\myexcel.xls");
int len=(int)ex.length();
response.setContentLength(len);
OutputStream outputStream = response.getOutputStream();
InputStream inputStream = new FileInputStream("E:\\myexcel.xls");
byte[] buffer = new byte[1024];
int i = -1;
while ((i = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, i);
}
outputStream.flush();
outputStream.close();
inputStream.close();
outputStream = null;
%>
一样的程序,为什么有时可以,而有时不可以??
难道公司的服务器有某种权限??
response.setContentType("application/vnd.ms-excel");
String fileBar = System.getProperty("file.separator");
response.addHeader("Content-Disposition","attachment; filename=" + fileBar + fileName);加上系统的文件分隔符就可以了
希望对二楼有所帮助!!