Browse Source

파일 다운로드 추가

pull/4/head
lkd9125 1 year ago
parent
commit
3e03e57101
  1. 49
      pav-server/src/main/java/com/palnet/biz/api/bas/flight/template/service/TemplateService.java

49
pav-server/src/main/java/com/palnet/biz/api/bas/flight/template/service/TemplateService.java

@ -1,16 +1,13 @@
package com.palnet.biz.api.bas.flight.template.service;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.StringReader;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.time.Instant;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Objects;
import javax.servlet.http.HttpServletResponse;
import javax.transaction.Transactional;
@ -119,7 +116,43 @@ public class TemplateService {
ComFileBas comFileBas = comFileBasRepository.findById(fileSno).orElse(null);
if(comFileBas == null) throw new CustomException(ErrorCode.DATA_NOTFIND);
log.info("comFileBas -> {}", comFileBas);
InputStream inputStream = null;
OutputStream outputStream = null;
try {
File pdfFile = new File(comFileBas.getFilePath() + comFileBas.getFileSaveNm());
inputStream = new FileInputStream(pdfFile);
String fileOriName = comFileBas.getFileOriNm();
fileOriName = URLEncoder.encode(comFileBas.getFileOriNm(), "UTF-8");
response.setContentType("application/octet-stream");
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-Disposition", "attachment; filename=\"" + fileOriName + "\"");
response.setContentLengthLong(Long.parseLong(comFileBas.getFileSize()));
response.setStatus(HttpServletResponse.SC_OK);
outputStream = response.getOutputStream();
byte[] buffer = new byte[1024]; //1KB 설정
int length;
while((length = inputStream.read(buffer)) != -1) {
outputStream.write(buffer);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
Objects.requireNonNull(outputStream).flush();
outputStream.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

Loading…
Cancel
Save