@RequestMapping(value = "/getInterferenceReportDownload", method = {RequestMethod.POST, RequestMethod.GET})
public boolean getInterferenceReportDownload(@RequestParam(value = "orderType", required = true) int orderType,
@RequestParam(value = "workorderid", required = true) String workorderid,
HttpServletRequest request, HttpServletResponse response) throws IOException {
InterferonWorkOrderDTO interferenceReportDownload = interferonWorkOrderService.getInterferenceReportDownload(orderType, workorderid);
String fileName = interferenceReportDownload.getReportname().trim();
byte[] reportfile = interferenceReportDownload.getReportfile();
String userAgent = request.getHeader("User-Agent");
if (userAgent.contains("MSIE") || userAgent.contains("Trident")) {
fileName = java.net.URLEncoder.encode(fileName, "UTF-8");
} else {
fileName = new String(fileName.getBytes("UTF-8"), "ISO-8859-1");
}
OutputStream bos = null;
try {
String encodeName = fileName;
response.setHeader("Content-disposition", "attachment;filename=" + encodeName);
response.setContentType("application/force-download");
response.setCharacterEncoding("UTF-8");
bos = new BufferedOutputStream(response.getOutputStream());
bos.write(reportfile);
bos.flush();
} finally {
if (bos != null) {
bos.close();
}
return true;
}
}