SpringMVC 는 어떻게 배경 파일 을 프론트 데스크 톱 으로 인쇄 합 니까?
코드:
@RequestMapping(value = "/tools/printContract")
public void cell(HttpServletResponse response,HttpServletRequest request,String outName) {
// outName
String filePath = request.getSession().getServletContext().getRealPath(ImgUtil.TOOLS_PATH+ImgUtil.TOOLS_TXT)+'/'+outName+".txt";
try(OutputStream out = response.getOutputStream()) {
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd_HHmmss");
String dateString = formatter.format(currentTime);
//fileName ( ),
String fileName = "EncryptFile_" + dateString + ".txt";
byte[] bytes = FileEcodeUtil.file2byte(filePath);
response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition","attachment;filename=" + fileName);
response.setContentLength(bytes.length);
out.write(bytes);
out.flush();
} catch (IOException e) {
//e.printStackTrace();
}
}
// file2byte :
public static byte[] file2byte(String filePath) {
byte[] buffer = null;
File file = new File(filePath);
try (FileInputStream fis = new FileInputStream(file);
ByteArrayOutputStream bos = new ByteArrayOutputStream()) {
byte[] b = new byte[1024];
int n;
while ((n = fis.read(b)) != -1) {
bos.write(b, 0, n);
}
buffer = bos.toByteArray();
} catch (Exception e) {
// e.printStackTrace();
}
return buffer;
}
주의:반환 값 의 종 류 는 String 이 아 닌 void 입 니 다.한 페이지 로 돌아 갈 수 없습니다.그렇지 않 으 면 서버 에서 IllegalState Exception 이상 을 던 집 니 다.페이지 에 서 는 나타 나 지 않 지만.java.lang.IllegalStateException: Cannot create a session after the response has been committed
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.