一、文件的下载
public void downloadContract(HttpServletRequest request, HttpServletResponse response) {
BufferedInputStream inputStream = null;
OutputStream out = null;
try {
String articleName = "GeneraluserOperationManual.pdf";
response.reset();
response.setContentType("application/force-download");
// 支持中文名称文件,需要对header进行单独设置,不然下载的文件名会出现乱码或者无法显示的情况
// 设置响应头,控制浏览器下载该文件
response.setHeader("Content-Disposition", "attachment;filename=" + StringUtils.getUUID()+articleName);
//下载文件路径
URL url = new URL(
request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ request.getContextPath() + "/shouce"+ "/"+articleName);
inputStream = new BufferedInputStream(url.openStream());
//通过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();
}
}
articleName代表下载文件的类型,根据自己下载什么文件更改后缀。