증상

다운로드 받아야 되는 파일에 쉼표(,)가 있으면 에러 발생

 

원인

크롬에서 Response.AddHeader 를 사용할때, 쉼표(,)가 있으면 중복헤더로 인식한다.

다른 브라우저는 중복헤더를 무시하기 때문에 해당 에러가 발생하지 않지만, 크롬에서는 해당 이슈가 존재한다.

 

해결방법

1. 첨부파일명에 콤마(,)를 다른 문자로 치환한다.

2. 첨부파일명을 큰따옴포(")로 감싼다.

 

해결

처음에는 REPLACE 로 콤마를 치환하여 쉽게 해결했다.

하고나니 파일명에 쉼표(,)를 살리면서 해결하고싶어 큰따옴표(")로 감싸는 방법으로 바꿨다.

각 언어 문법에 맞게 파일명 앞뒤에 큰따옴표(")를 붙이면 된다.

 

Classic ASP

Response.AddHeader "Content-Disposition", "attachment;filename=" & chr(34) & file & chr(34)

 

쉼표를 포함한 파일명 그대로 다운로드가 정상적으로 작동한다.

+ Recent posts