更改传输格式,不使用text/html格式,而是根据文件类型判断,如:
String filepath = StringUtils.trim(request.getParameter("filepath"));
if (filepath.equals(""))
return null; File file = new File(getRealFilepath(filepath)); OutputStream out = response.getOutputStream(); int l = file.getName().lastIndexOf("."); //the file suffix
String ext = ".txt";
if (l >= 0) {
ext = file.getName().substring(l).toLowerCase();
setContentType(response, ext);
} else {
response.setContentType("text/plain");
} String filename = file.getName();
filename = new String(filename.getBytes(), "8859_1");
response.setHeader(
"Content-Disposition",
"attachment;filename=\"" + filename + "\""); BufferedInputStream reader =
new BufferedInputStream(new FileInputStream(file));
//here use buffer,it can be faster then only use FileInputStream. try {
byte[] b = new byte[1024];
int len = 0;
while ((len = reader.read(b, 0, 1024)) > 0) {
out.write(b, 0, len);
}
out.flush();
} finally {
reader.close();
out.close();
}
return null;
String filepath = StringUtils.trim(request.getParameter("filepath"));
if (filepath.equals(""))
return null; File file = new File(getRealFilepath(filepath)); OutputStream out = response.getOutputStream(); int l = file.getName().lastIndexOf("."); //the file suffix
String ext = ".txt";
if (l >= 0) {
ext = file.getName().substring(l).toLowerCase();
setContentType(response, ext);
} else {
response.setContentType("text/plain");
} String filename = file.getName();
filename = new String(filename.getBytes(), "8859_1");
response.setHeader(
"Content-Disposition",
"attachment;filename=\"" + filename + "\""); BufferedInputStream reader =
new BufferedInputStream(new FileInputStream(file));
//here use buffer,it can be faster then only use FileInputStream. try {
byte[] b = new byte[1024];
int len = 0;
while ((len = reader.read(b, 0, 1024)) > 0) {
out.write(b, 0, len);
}
out.flush();
} finally {
reader.close();
out.close();
}
return null;
解决方案 »
- 如何编译chm格式的文档
- 怎样知道Java运行过程中每个类所对应的实例占了多少内存
- 问个mysql workbench的问题,真心求教
- struts的validation的正则无效
- hibernate设置sqlserver主键的问题
- struts问题:关于request.setAttribute()
- 关于struts标签使用的三个问题,在线等
- 在一个.ear文件中的那些.xml是不是一定要自己写的,能不能自动生成的,
- 求救!有关Ejb中的事务处理!
- 在编写bos物流中提交订单中获取不到id
- servlet入门程序老运行不了,大虾进来帮看看环境变量哇~55555555555
- jsp 数据库连接问题!!!!! 求教
response.setContentType("text/plain");
response.setHeader(
"Content-Disposition",
"attachment;filename=\"" + filename + "\"");
这几句。