/**
* 下载用户和单位模板
* @param response
*/
@RequestMapping(value = "/downloadTemp/{keyId}", method = {RequestMethod.GET})
@ResponseBody
public void downloadTemp(@PathVariable("keyId") String keyId, HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException {
keyId = sm4Utils.decryptData_CBC(keyId);
try {
String fileName = "users.xlsx";
if("1".equals(keyId)){
fileName = "dept.xlsx";
}
//获取model路径
String realPath = request.getSession().getServletContext().getRealPath("/model") + File.separator + fileName;
// 以流的形式下载文件。
InputStream fis = new BufferedInputStream(new FileInputStream(realPath));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
//清空response
response.reset();
//设置response响应头
response.setCharacterEncoding("UTF-8");
response.setContentType("multipart/form-data");
response.setContentType("application/x-download");
response.setHeader("Accept-Ranges", "bytes");
response.setHeader("Content-Disposition","attachment;fileName="+ URLEncoder.encode(URLEncoder.encode(fileName,"UTF-8"),"ISO-8859-1"));
OutputStream outputStream = new BufferedOutputStream(response.getOutputStream());
response.setContentType("application/octet-stream");
outputStream.write(buffer);
outputStream.flush();
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
Java 下载指定目录下的文件
最新推荐文章于 2024-04-27 23:13:56 发布