Response headers 에 Content-Disposition 안보임 😥Cors 관련인가 ?

2022. 7. 19. 09:44·개발중/Spring Boot
728x90
반응형

Cors 설정을 하기 전에 잘 동작했던 액셀 다운로드 / 업로드가 안되기를 시작했다.

너무 슬프다.

 

api  를 호출한다.

 

@Override
protected void buildExcelDocument(Map<String, Object> model, Workbook workbook, HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException {

    createExcel(workbook, model);
    response.setCharacterEncoding("UTF-8");
    response.setHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode("패턴_업로드_샘플.xlsx", "UTF-8") + "\";");

}

 

여기 스프링단에서 분명히 Content-Disposition 를 설정해줬다.

 

그리고 vue 단에서 Response headers 에 실린 Content-Disposition 를 확인해야 한다.

근데 response 를 console  로 찍어보는데 Content-Disposition가 보이지를 않는다.

 

 이상한 점은 console 로는 찍히지 않지만 network 에는 노출이 된다는 점이다.

 

console.log

 

network

 

뒷단에 response.addHeader("Access-Control-Expose-Headers", "Content-Disposition");

추가해주니까 되었다 ! 

 

@Component
public class SimpleCORSFilter implements Filter{

    private final Logger log = LoggerFactory.getLogger(SimpleCORSFilter.class);

    @Override
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) req;
        HttpServletResponse response = (HttpServletResponse) res;
    
        response.setHeader("Access-Control-Allow-Credentials", "true");
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
        response.setHeader("Access-Control-Max-Age", "3600");
        response.setHeader("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With, remember-me");
        response.addHeader("Access-Control-Expose-Headers", "Content-Disposition");
    
        chain.doFilter(req, res);
    }
}

 


728x90
반응형
저작자표시 (새창열림)

'개발중 > Spring Boot' 카테고리의 다른 글

[Spring] '스프링과 스프링부트의 차이점'을 모르고 스프링 할 줄안다고 하지말기 !  (2) 2022.09.23
스프링 테스트 코드 작성하기  (1) 2022.09.06
[API 설계] 서비스단에서 유효성 검사 분리하기  (0) 2022.05.24
좋은 객체 지향의 다섯가지 원칙 SOLID  (0) 2022.04.11
스프링과 스프링 부트에 대해 알아보기  (0) 2022.04.11
'개발중/Spring Boot' 카테고리의 다른 글
  • [Spring] '스프링과 스프링부트의 차이점'을 모르고 스프링 할 줄안다고 하지말기 !
  • 스프링 테스트 코드 작성하기
  • [API 설계] 서비스단에서 유효성 검사 분리하기
  • 좋은 객체 지향의 다섯가지 원칙 SOLID
Binsoo
Binsoo
내 트러블 슈팅
  • Binsoo
    정수빈 기술블로그임.
    Binsoo
  • 전체
    오늘
    어제
    • 빈수 개발자 개발 일기 (938)
      • 개발중 (635)
        • Spring Boot (95)
        • Spring Security (2)
        • Spring Batch (6)
        • Spring Boot & Redis (13)
        • Java Persistence API (JPA) (28)
        • Web (42)
        • Rest Api (7)
        • Spring Concurrency Control (3)
        • Redis (8)
        • Kubernetes (k8s) (4)
        • MYSQL (35)
        • AirFlow (15)
        • Docker (2)
        • Git (22)
        • Linux (9)
        • JSON Web Tokens (JWT) (4)
        • Troubleshooting (88)
        • Swagger (0)
        • Vue.js (52)
        • Java (74)
        • html (12)
        • C (5)
        • jQuery (15)
        • JavaServer Pages (JSP) (17)
        • Arduino (1)
        • JavaScript (35)
        • Amazon Web Services (AWS) (11)
        • Algorithm (9)
        • 참고 기능 (18)
        • mongo (2)
      • PROJECT (27)
        • 스프링부트+JPA+몽고 API 개발 (3)
        • MINI (2)
        • 게시판 (3)
        • vue 프로젝트 (1)
        • JPA 사이드 프로젝트 기록 (17)
      • TEAM STUDY (156)
        • 가상 면접 사례로 배우는 대규모 시스템 설계 기초 (8)
        • 한 권으로 읽는 컴퓨터 구조와 프로그래밍 (12)
        • NAVER DEVELOPER (4)
        • LINUX (23)
        • PYTHON (19)
        • SERVER (8)
        • 알고리즘 코딩 테스트 스터디 (31)
        • 쿠버네티스 (40)
        • 대세는 쿠버네티스 [초급~중급] (11)
      • BOOK (0)
      • 자격증 (61)
        • 리눅스 1급 - 필기 기록 (19)
        • 네트워크 관리사 (2)
        • 네트워크 관리사 2급 - 실기 기록 (21)
        • 네트워크 관리사 2급 - 필기 기록 (16)
        • 정보처리 (2)
      • 직장인 대학원 (17)
        • 기록 (1)
        • 캐글 스터디 (3)
        • R (12)
      • 논문 (5)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    redis
    쿠버네티스
    Spring
    네트워크 관리사 자격증
    리눅스 마스터 요약
    BackendDevelopment
    네트워크 관리사 실기
    VUE
    springboot
    알고리즘
    쿠버네티스 스터디
    네트워크 관리사 2급
    리눅스 마스터 1급
    리눅스 1급 요약
    스프링
    네트워크 관리사 학점
    git
    리눅스 마스터 1급 정리
    java
    파이썬 알고리즘
    REST API
    docker
    네트워크 관리사 요약
    네트워크 관리사
    리눅스 마스터 1급 요약
    파이썬
    jpa
    Git 저장소
    네트워크 관리사 2급 실기
    리눅스 마스터
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Binsoo
Response headers 에 Content-Disposition 안보임 😥Cors 관련인가 ?
상단으로

티스토리툴바