java后台下载文件

来源:互联网 发布:c语言入门免费书籍 编辑:程序博客网 时间:2024/05/11 17:06

/**
* 大多出下载都采用这种方式 我这个是下载excel文件
* 遇到的问题:
* 1.请求传回后台后 返回200 和一长串数字 但是并不下载
* 解决: 请把ajax换成标签
*
*/
String fileName = “test.xslx”;
String path = “”;
try {
List positionList = positionService.selectByAll(null);
fileName = new String(fileName.getBytes(), “ISO-8859-1”);
path = PoiUtil.poi(request, positionList);
InputStream inStream = new FileInputStream(path);
response.reset();
response.setContentType(“application/vnd.ms-excel”);
response.addHeader(“Content-Disposition”, “attachment; filename=\”” +fileName+ “\”“);
byte[] b = new byte[100];
int len;
while ((len = inStream.read(b)) > 0)
response.getOutputStream().write(b, 0, len);
inStream.close();
} catch (Exception e) {
e.printStackTrace();
}
//补充编辑 2017-07-04
/**
* 问题 :
* 1 下载下来后打开文件损坏
* 可能造成的原因有
* 电脑是否安装环境加密软件并没有登录或策略错误
* 传入的参数过大过长
* 在写入文件后没有关闭流
*/