2026, 새로운 도약을 시작합니다.

download.php / 아이폰에서 hwp파일 깨짐

아이폰에서 한글파일을 다운로드 받을 때 다운로드파일로 처리되지 않고

브라우저에서 그대로 외계어로 열려버리는 현상이 발현되어

애를먹다가 아래 방법으로 해결을 하였습니다. 

해당문제는 예전에 IE에서 한글파일 받을 때 보던 문제인데...

아무튼 몇시간동안 이것저것 시도해보다가

파일이름을 인코드하는 과정에서 일단 실마리를 찾았습니다.

Copy
$original = rawurlencode($file['bf_source']);

IE에서 파일이름에 공백 등을 처리하기위해 rawurlencode()나 urlencode()를 쓰는데 

이 함수를 쓰지 않고 그대로 

Copy
$original = $file['bf_source'];

로 하였더니 신기하게 정상적으로 다운이 되더군요

그래서

Copy
if (preg_match('~MSIE|Internet Explorer~i', $ua) || (strpos($ua, 'Trident/7.0') !== false && strpos($ua, 'rv:11.0') !== false))
{
  // do stuff for IE
  $original = rawurlencode($file['bf_source']);

}
else if(preg_match("/Edge/",$ua))
{
  // do stuff for Edge
  $original = rawurlencode($file['bf_source']);

}
else
{ 
  // safari, chrome and firefox, etc...
  $original = $file['bf_source'];
}

 

...

일단 여러가지 IE와 비 IE를 분기하여 코드를 짜게 되었는데 

일단 잘은 동작하는데...

제가 프로그래밍을 전문적으로 하지 않아 이게 적절한 처리인지 난감하네요...

저와같은 현상 경험하신 분 계실까요?? 

위와같은 처리가 다른 문제를 야기하지는 않을까요???

답변 1개

서버단에서 hwp 확장자 풀어놔야되는걸로 알고있는데

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

아파치에 mime 타입 추가해도 아이폰에서 다운이 안되었었네요/...

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고