증상
다운로드 받아야 되는 파일에 쉼표(,)가 있으면 에러 발생
원인
크롬에서 Response.AddHeader 를 사용할때, 쉼표(,)가 있으면 중복헤더로 인식한다.
다른 브라우저는 중복헤더를 무시하기 때문에 해당 에러가 발생하지 않지만, 크롬에서는 해당 이슈가 존재한다.
해결방법
1. 첨부파일명에 콤마(,)를 다른 문자로 치환한다.
2. 첨부파일명을 큰따옴포(")로 감싼다.
해결
처음에는 REPLACE 로 콤마를 치환하여 쉽게 해결했다.
하고나니 파일명에 쉼표(,)를 살리면서 해결하고싶어 큰따옴표(")로 감싸는 방법으로 바꿨다.
각 언어 문법에 맞게 파일명 앞뒤에 큰따옴표(")를 붙이면 된다.
Classic ASP
Response.AddHeader "Content-Disposition", "attachment;filename=" & chr(34) & file & chr(34)
쉼표를 포함한 파일명 그대로 다운로드가 정상적으로 작동한다.