Microsoft MVP성태의 닷넷 이야기
글쓴 사람
소쿠리 (hot2680 at hotmail.com)
홈페이지
첨부 파일
 

.net 2.0 기반으로 asp.net 개발중에
이런 문제가 있어 문의 드립니다.

코드를 적고 말씀을 드리겠습니다.

A.aspx -------------------

<a href="/download.aspx?fnm==%ed%95%9c%ea%b8%80.gif" > 한글로 된 파일 다운로드 </a>


--------------------------

download.aspx.cs -------------

string path = @"서버경로" + HttpUtility.UrlDecode(Request["fnm"]);

string filename = HttpUtility.UrlDecode(Request["fnm"]);


            Response.Clear();
            Response.ContentType = "Application/UnKnown";
            Response.AddHeader("Content-Disposition", "attachment;filename=" + filename);
            Response.WriteFile(path);
            Response.End();
----------------------------


A 페이지에서 링크를 선택하여 다운로드를 시도하면
download.aspx.cs 에 있는 코드에서 filename 을 UrlDecode 하여 정해 주는데
내가 원하는 한글 값이 아닌 임의의 문자열 "C2GWXP." 가 파일 이름으로 되어 다운로드가 진행 됩니다.

실제루 다운 받아 보면 저장된 파일이 정확하여 urlDecode가 잘 이루어 졌다고 생각은 됩니다.
그런데 왜 파일 이름만 이상한 영문자와 마지막에 점(.) 이 포함된 문자로 되어 보이는 모르겠습니다..

고수님의 금쪽 같은 조언 부탁 드립니다.








[최초 등록일: ]
[최종 수정일: 9/6/2007]


비밀번호

댓글 작성자
 



2007-09-05 04시26분
자답...

string filename = HttpUtility.UrlDecode(Request["fnm"]);



string filename = Server.UrlPathEncode(HttpUtility.UrlDecode(Request["fnm"]));

로 UrlPathEncode 해주니 되네요..

해결은 했는데
왜 인지 우째서 인지에 대한글 모르니깐 찜찜하네요...
lsyul

NoWriterDateCnt.TitleFile(s)