文件包括:zip、txt、PDF等
后台:
@RequestMapping(value = "/downloadZip")
public String downloadZip(HttpServletRequest request, HttpServletResponse response) {
BufferedInputStream fis = null;
OutputStream outStream = null;
try {
String path = request.getParameter("path");
String fileName = path.substring(path.lastIndexOf("/") + 1);
response.setCharacterEncoding("UTF-8");
fis = new BufferedInputStream(new FileInputStream(path));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
response.reset();
outStream = new BufferedOutputStream(response.getOutputStream());
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("UTF-8"), "ISO-8859-1"));
outStream.write(buffer);
outStream.flush();
outStream.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (null != fis) {
fis.close();
}
} catch (IOException e) {
log.error("文件读取失败!", e);
}
try {
if (null != outStream) {
outStream.close();
}
} catch (IOException e) {
log.error("文件读取失败!", e);
}
}
return null;
}
前端
function downloadZip(path) {
if (!existsPdf(path)) {
swal("", "文件不存在", "error");
return false;
}
var url = "file/downloadZip?path="+path;
$("#iframeFile").attr('src',encodeURI(url));
}