标签:back nes catch ati osi class exce message adr
@GetMapping("/rollback/content/download")
public void downloadRollbackContent(@RequestParam("sqlId") Integer sqlId,
@RequestParam("taskId") Integer taskId,
HttpServletResponse response){
// 注意这里一定要用StringBuilder包装一下String,不然下载不下来,不知为何
StringBuilder sb = new StringBuilder("sssssssss");
InputStream is = null;
String fileName = System.currentTimeMillis() + "" + taskId + "" + sqlId + ".sql";
//使用流的形式下载文件
try {
//加载文件
is = new BufferedInputStream(new ByteArrayInputStream(sb.toString().getBytes("utf-8")));;
response.addHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("UTF-8"), "ISO-8859-1"));
response.addHeader("Content-Length", "" +sb.toString().length());
response.setContentType("application/octet-stream");
response.setContentLengthLong(sb.toString().length());
BufferedOutputStream outStream = new BufferedOutputStream(response.getOutputStream());
byte[] buffer = new byte[1024];
int bytesRead = 0;
while ((bytesRead = is.read(buffer)) != -1) {
outStream.write(buffer, 0, bytesRead);
}
outStream.flush();
} catch (Exception e) {
log.error("获取附件失败", e);
throw new BusinessException(e.getMessage());
}finally {
try {
if (null != is) {
is.close();
}
} catch (IOException ioEx) {
log.error("", ioEx);
}
}
}
标签:back nes catch ati osi class exce message adr
原文地址:https://www.cnblogs.com/guoAIrong/p/12938775.html