您的位置:首页 > 编程语言 > Java开发

java web导出文件

2015-12-16 17:47 323 查看
@RequestMapping(value = "exportTerminalFile/{id}")
public void exportTerminalFile(HttpServletRequest request, HttpServletResponse response, @PathVariable Long id) throws Exception{
TerminalImportFile file = this.terminalService.getTerminalImportFile(id);
if (file == null) {
throw new BusinessException("import.terminal.file.notFound");
}

String fileName = file.getName();
final String userAgent = request.getHeader("USER-AGENT");
String finalFileName = null;
if(StringUtils.contains(userAgent, "MSIE")){//IE浏览器
finalFileName = URLEncoder.encode(fileName,"UTF8");
}else if(StringUtils.contains(userAgent, "Mozilla")){//google,火狐浏览器
finalFileName = new String(fileName.getBytes(), "ISO8859-1");
} else {
finalFileName = URLEncoder.encode(fileName,"UTF8");//其他浏览器
}
response.setContentType("application/xml; charset=utf-8");
response.setHeader("Content-Disposition", "attachment;filename=\"" + finalFileName + "\"");
ServletOutputStream os = response.getOutputStream();
BufferedOutputStream bos = new BufferedOutputStream(os);

InputStream is = file.getData().getBinaryStream();
byte[] buffer = new byte[1024];
int len;
while ((len = is.read(buffer)) != -1) {
bos.write(buffer, 0, len);
}
bos.flush();
bos.close();
os.flush();
os.close();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: