[1827]엑셀,pdf 다운로드시 unknown이라고 나옴 - 전각문자

This commit is contained in:
ysCha 2026-03-30 17:24:01 +09:00
parent 9dce727f32
commit dd2b3e4da1
2 changed files with 9 additions and 3 deletions

View File

@ -9,6 +9,8 @@ import java.beans.PropertyDescriptor;
import java.io.*; import java.io.*;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.util.*; import java.util.*;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -104,7 +106,8 @@ public class ExcelUtil {
InputStream is = new BufferedInputStream(templateStream); InputStream is = new BufferedInputStream(templateStream);
response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + ".xlsx\""); String encodedFileName = URLEncoder.encode(fileName, StandardCharsets.UTF_8).replaceAll("\\+", "%20");
response.setHeader("Content-Disposition", "attachment; filename=\"" + encodedFileName + ".xlsx\"");
response.addHeader("Access-Control-Expose-Headers", "Content-Disposition"); response.addHeader("Access-Control-Expose-Headers", "Content-Disposition");
try (OutputStream os = response.getOutputStream()) { try (OutputStream os = response.getOutputStream()) {

View File

@ -11,6 +11,7 @@ import com.itextpdf.kernel.utils.PdfMerger;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import java.io.*; import java.io.*;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.nio.file.Files; import java.nio.file.Files;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -81,7 +82,8 @@ public class PdfUtil {
// 응답에 PDF 설정 // 응답에 PDF 설정
response.setContentType("application/pdf"); response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=\"" + pdfFileName + "\".pdf"); String encodedFileName = URLEncoder.encode(pdfFileName, StandardCharsets.UTF_8).replaceAll("\\+", "%20");
response.setHeader("Content-Disposition", "attachment; filename=\"" + encodedFileName + "\".pdf");
response.addHeader("Access-Control-Expose-Headers", "Content-Disposition"); response.addHeader("Access-Control-Expose-Headers", "Content-Disposition");
try (java.io.OutputStream os = response.getOutputStream(); try (java.io.OutputStream os = response.getOutputStream();
@ -185,7 +187,8 @@ public class PdfUtil {
// 응답에 PDF 설정 // 응답에 PDF 설정
response.setContentType("application/pdf"); response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=\"" + pdfFileName + "\".pdf"); String encodedFileName = URLEncoder.encode(pdfFileName, StandardCharsets.UTF_8).replaceAll("\\+", "%20");
response.setHeader("Content-Disposition", "attachment; filename=\"" + encodedFileName + "\".pdf");
response.addHeader("Access-Control-Expose-Headers", "Content-Disposition"); response.addHeader("Access-Control-Expose-Headers", "Content-Disposition");
try (OutputStream os = response.getOutputStream(); try (OutputStream os = response.getOutputStream();