S3 이미지 파일 URL을 가져올때 한글 글자가 깨지는 이유

 당연히도 영어는 상관이 없지만 한글파일명을 가진 S3 파일은 이름이 변경된채 저장되는 것이였다.


portal2.jpg => https://S3-Bucket-URL/portal2.jpg

포탈2.jpg => https://S3-Bucket-URL/%ED%8F%AC%ED%83%882.jpg


url주소로 인코딩 하는 과정에서 한글을 변경하는 것이다. 이때 한글이름을 그대로 갖고오기 위해서는 utf-8 디코등을 이용해서 변환해야 한다.




위 사진에서 "인코딩파일"은 S3에서 진행을 하게 되어 있다. S3에서 조회할때는 한글 파일을 동일하게 인코딩 한 다음에 조회를 해야 한다. 따라서 encodeURIComponent 함수를 이용해서 한글 파일을 변환 다음에 S3 버킷 주소에 붙여서 다운을 받아야 한다.


예로 들어 내가 포탈2.jpg파일을 S3에서 받고 싶으면 아래와 같은 URL을 사용해야 한다.

(S3-Bucket-URL은 임의의 URL이다. 실제 S3에서 확인해야 한다.)

https://S3-Bucket-URL/%ED%8F%AC%ED%83%882.jpg


댓글

이 블로그의 인기 게시물

DAQ로 전압 측정하기-2

Nest JS URL에 있는 쿼리(Query) 읽기

appendChild를 이용하여
  • 늘리기_JavaScript_2번