Java 实现文件下载
Java 实现文件下载
public void downloadArticle(String folderPath, String articleName, HttpServletResponse response) {
FileInputStream inputStream = null;
OutputStream out = null;
try {
response.reset();
response.setContentType("application/force-download");
// 支持中文名称文件,需要对header进行单独设置,不然下载的文件名会出现乱码或者无法显示的情况
// 设置响应头,控制浏览器下载该文件
response.setHeader("Content-Disposition", "attachment;filename=" + UUIDUtils.getUUID() +".pdf");
//通过文件路径获得File对象
File file = new File(filePath + folderPath+"/"+articleName+".pdf");
inputStream = new FileInputStream(file);
//通过response获取ServletOutputStream对象(out)
out = response.getOutputStream();
int length = 0;
byte[] buffer = new byte[1024];
while ((length = inputStream.read(buffer)) != -1) {
//4.写到输出流(out)中
out.write(buffer, 0, length);
}
inputStream.close();
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}

