첨부파일 다운로드 시 공백이 '+' 가 되는 현상 해결



현재 개발하고 있는 시스템에서 첨부파일을 다운로드할 경우 공백이 '+' 로 바뀌어서 저장이 됩니다.


예를들어


"불친절한 자수씨의 블로그.pdf"


라는 파일이라면


"불친절한+자수씨의+블로그.pdf"


라는 파일로 저장이 됩니다.


원인은 한글 파일명을 지원하기 위해 URLEncoder 를 사용하는데, 이것이 공백을


'+'


로 만드는 범인이였습니다.


기존 방식은 아래와 같았을 것 입니다.





개선 방법은 URLEncoding 후


'+'


로 변경된 공백을


'%20'


으로 다시 변경합니다.






'+'


는 정규식의 수량을 나타내는 것이기 때문에 역슬래쉬가 앞에 붙어야 합니다.


원래 있던


'+'


가 걱정되시는 분들은 걱정할 필요가 없습니다.

URLEncoder.encode() 메소드에 의해


'%2B'


로 변환이 됩니다.


어떻게 생각해보면 쉬운 것이였는데 신경을 못 쓰다보니 불편함을 안고 살았던 것 같습니다.


댓글

가장 많이 본 글