用java流的形式输出到页面,实现文件下载
@RequestMapping(value = "/page/file/download")
@ResponseBody
public void download(HttpServletRequest request, HttpServletResponse response,String fileName) throws Exception {
File file = CSVUtils.createCSVFile("temp"+System.currentTimeMillis()+".csv");
try {
OutputStream out = response.getOutputStream();
byte[] buffer = filewsUtil.download(fileName);
if (null != buffer && buffer.length > 0) {
// 清空response
response.reset();
// 设置response的Header
response.addHeader("Content-Disposition","attachment;filename="+ file.getName());
response.addHeader("Content-Length", "" + buffer.length);
response.setContentType("application/octet-stream");
out.write(buffer);
out.flush();
out.close();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
file.delete();
}
}