SpringBoot에서 Excel 파일을 다운로드하여 파일 손상 문제 해결
1897 단어 프로젝트 개발
코드 먼저 올리기
public void downloadExcel(HttpServletResponse response,HttpServletRequest request) {
try {
//
String fileName = "ruleConfig.xlsx";//ruleConfig.xlsx
//
response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
// MIME
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
//
String filePath = getClass().getResource("/static/" + fileName).getPath();
System.out.println(filePath);
FileInputStream input = new FileInputStream(filePath.substring(1));
OutputStream out = response.getOutputStream();
byte[] b = new byte[2048];
int len;
while ((len = input.read(b)) != -1) {
out.write(b, 0, len);
}
out.flush();
out.close();
input.close();
} catch (Exception ex) {
log.error("getApplicationTemplate :", ex);
//return Response.ok(" !");
}
}
이게 그냥 다운로드 코드예요.
해결 방법
중점은 다음pom에 압축을 피하는 플러그인을 추가하는 것이다
org.apache.maven.plugins
2.6
maven-resources-plugin
UTF-8
xlsx
이 플러그인은 xlsx 파일이 리소스 디렉터리에서 자동으로 압축되는 것을 피할 수 있습니다. 이렇게 하면 정상적으로 다운로드하고 열 수 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 는 외부 글꼴 즉 사용자 정의 글꼴 파일 을 참조 합 니 다.때때로 우 리 는 프로그램 에서 자바 글꼴 을 사용 하지만 모든 글꼴 시스템 에 있 는 것 은 아니다. 우 리 는 외부 사용자 정의 글꼴 을 사용 할 수 있다. 그러면 프로그램 이전 배치 에서 작업 이 적 을 것 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.