프로젝트_트러블슈팅

[PersonaAI - 비공개 프로젝트 d-2] 파일다운로드 기능 오작동

quantumee 2024. 7. 31. 13:38

파일 다운로드 Back-End단 로직을 구현하고 Front-End 단에서 버튼 클릭으로 호출을 했는데 다운로드가 되지 않았다.

 

메소드를 안 탔나 확인해 봤지만 메소드도 탔고 Back-End 단에서도 로직이 정상적으로 실행되고 Exception도 뱉지 않았다.

 

원인을 찾기 위해 개발자도구의 네트워크에 들어가 요청-응답정보를 확인해보는데 200으로 정상 응답이 도착해있었다. 해당 파일명도 떠있길래 더블클릭 해봤더니 다운로드가 된다...

 

그렇다면 Front단 Back단 모두 코드 로직에서는 틀린게 없었다고 가설을 하고 다른 곳에 문제점을 찾기 시작했다.

 

크롬 브라우저로 로컬을 테스트해보고 있었는데 브라우져의 문제인가 해서 엣지로 바꿔서 테스트를 해봤다.

결과는 이상무

 

ajax로 요청을 보내고 있었는데 이 설정이 잘못되었나해서 contentType등을 명시적으로 설정해 줬다

결과는 변화무

 

마지막으로 어차피 get 방식이라 버튼에 링크를 줘봤다.

역시 안된다.

 

다른 방법을 찾다가 실수로 버튼 태그를 지워버렸고 그냥 급한김에 a태그에 url을 줘봤다.

작동이 된다.

 

버튼태그 문제였다.

 

결론 : 파일 다운로드 기능 구현시 요청 이벤트를 걸때는 버튼이 아니라 a태그를 활용하자!!