springbootjar 실행 시 파일 다운로드
@RequestMapping(value = "/excel", method = RequestMethod.GET)
public void download(HttpServletRequest request, HttpServletResponse response,
@RequestParam(value = "filename") String filename) throws Exception{
logger.debug(" :filename=" + filename);
InputStream stream = getClass().getClassLoader().getResourceAsStream("templates"+File.separator+filename);
// if (filename.contains("Template")) {
// path = request.getServletContext().getRealPath("file/template/");
// } else {
// path = ExcelUtil.errorfilePath;
// }
if (stream==null) {
throw new BizException("E2000029", MessageUtil.getMessage("E2000029", filename));//filename[{0}] !
}
IOUtil.download(filename, stream, response);
}
public static void download(String fileName, InputStream inputStream, HttpServletResponse response) {
OutputStream os = null;
try {
response.setCharacterEncoding("utf-8");
response.setContentType("multipart/form-data");
response.setHeader("Content-Disposition", "attachment;fileName=\"" + URLEncoder.encode(fileName, "UTF-8") + "\"");
os = response.getOutputStream();
byte[] b = new byte[2048];
int length;
while ((length = inputStream.read(b)) > 0) {
os.write(b, 0, length);
}
} catch (IOException e) {
ErrorUtil.printException(e, logger);
} finally {
try {
if(os != null){
os.close();
}
if(inputStream != null){
inputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
파일은 리소스/templates에서
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.