文件下载,
首先获取文件路径,io流读取文件内容,
第二设置输出,如输出字符编码,输出文件名等,
第三返回调用方,前端即可显示下载界面,试试吧
/**
file 下载文件路径
fileName 下载文件名称
response
isDelete true 删除文件 false 不删除文件
*/
public void downloadFile(File file, String fileName, HttpServletResponse response,
boolean isDelete) {
try {
// 以流的形式下载文件。
BufferedInputStream fis = new BufferedInputStream(new
FileInputStream(file.getPath()));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
// 清空response
response.reset();
OutputStream toClient = new
BufferedOutputStream(response.getOutputStream());
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;filename=" + new
String(fileName.getBytes("UTF-8"),"ISO-8859-1"));
toClient.write(buffer);
toClient.flush();
toClient.close();
if(isDelete)
{
file.delete(); //是否将生成的服务器端文件删除
}
}
catch (IOException ex) {
ex.printStackTrace();
}
}