@RequestMapping(value = "/downloadProFile")
public void downloadProFile(String type, HttpServletRequest req, HttpServletResponse resp) throws IOException {
String filename ="";
if("1".equals(type)){
filename = "model-2";
}else if("2".equals(type)) {
filename = "model-3-1";
}else if("3".equals(type)) {
filename = "model-3-2";
}else if("4".equals(type)) {
filename = "model-3-3";
}else if("5".equals(type)) {
filename = "model-3-4";
}else if("6".equals(type)) {
filename = "model-3-5";
}
try{
resp.reset();// 清空输出流
String resultFileName = filename + System.currentTimeMillis() + ".xls";
resultFileName = URLEncoder.encode(resultFileName,"UTF-8");
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("UTF-8");
resp.setHeader("Content-disposition", "attachment; filename=" + resultFileName);// 设定输出文件头
resp.setContentType("application/msexcel");// 定义输出类型
File outFile=new File(this.downFileDir +"\\"+ filename + ".xlsx");
if(!outFile.exists()){
throw new Exception("文件不存在");
}
//输入流:本地文件路径
DataInputStream in = new DataInputStream(
new FileInputStream(outFile));
//输出流
OutputStream out = resp.getOutputStream();
//输出文件
int bytes = 0;
byte[] bufferOut = new byte[1024];
while ((bytes = in.read(bufferOut)) != -1) {
out.write(bufferOut, 0, bytes);
}
out.close();
in.close();
} catch(Exception e){
e.printStackTrace();
resp.reset();
}
}
文件下载
下载模型文件的SpringMVC控制器
最新推荐文章于 2024-10-16 10:38:58 发布
本文介绍了一个SpringMVC控制器方法,用于根据类型参数下载不同模型的Excel文件。该方法通过设置响应头和输出类型,实现了模型文件的下载功能。
978

被折叠的 条评论
为什么被折叠?



