Microsoft MVP성태의 닷넷 이야기
Http 파일 업로드시 한글파일명 관련 [링크 복사], [링크+제목 복사],
조회: 22833
글쓴 사람
로손
홈페이지
첨부 파일
 

안녕하세요. 한글이 포함된 파일을 Http 업로드 할 경우에 대해 여쭤봅니다.

웹페이지에서 전송하는 기능을 C#에서 동일하게 구현 하는데 한글 파일명인 경우 파일명이 깨집니다.

웹페이지에서 전송할 경우의 헤더 정보와 C#에서 보낸 헤더정보 비교(Fiddler)

1. 웹페이지 JSP form 전송시(정상)
POST http://10.155.8.76:8312/insa/FileUploadServlet HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Referer: http://10.155.8.76:8312/insa/test.jsp
Accept-Language: ko-KR
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Content-Type: multipart/form-data; boundary=---------------------------7df3972e104c6
Accept-Encoding: gzip, deflate
Host: 10.155.8.76:8312
Content-Length: 47396
DNT: 1
Connection: Keep-Alive
Pragma: no-cache
Cookie: JSESSIONID=0000ioe7Tp1dCmT1TwqU_-4yvfI:-1

-----------------------------7df3972e104c6
Content-Disposition: form-data; name="upload"; filename="C:\Users\sjh\Desktop\Temp\data\2015.05_AP12345_김길동.tif"
Content-Type: image/tiff


2. C# 전송시(파일명 깨짐)
POST http://10.155.8.76:8312/insa/FileUploadServlet HTTP/1.1
Content-Type: multipart/form-data; boundary=----------5b8ba50b442e4e499532fa610596b7fa
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Accept-Language: ko-KR
Host: 10.155.8.76:8312
Content-Length: 272601
Expect: 100-continue
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

------------5b8ba50b442e4e499532fa610596b7fa
Content-Disposition: form-data; name="upload"; filename="D:\Project\amore\00.Debug\Data\Result\2015.05_AP12345_???.tif"
Content-Type: application/octet-stream


위 정보중 filename 부분에 웹에서 보낸 경우는 자동(?)으로 한글명이 변환 되는걸로 보입니다.(홍 ->&#44608 이런식으로..)

이부분에서 어떤 차이가 있는듯 한데...혹시 어떤 차이가 있을까요?










[최초 등록일: ]
[최종 수정일: 5/26/2015]


비밀번호

댓글 작성자
 



2015-05-26 11시19분
HttpUtility.UrlEncode를 하면 되지 않을까요?
정성태

... 31  32  33  34  35  36  37  38  39  40  [41]  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
486610년차8/3/201718362dsoframer axframer open시 기존 오픈되어있는 엑셀을 먹어버리는 현상 [1]
4865heyh...7/31/201720773클릭원스로 배포 한 프로젝트가 끝났는지 알 수 있는 방법 [8]
4864초보자7/28/201719836DllIImport질문 드립니다. [1]
4863다연아빠7/23/201720488전역 예외처리에 대해 질문있습니다. [3]
4861라르크7/17/201727374window form 예제 따라하는 중인데 12.3 서비스 응용 프로그램에서 진행이 안됩니다. [3]파일 다운로드1
4859heyh...7/10/201720695다른 환경에서 실행하기 [1]
4858heyh...7/10/201719893Clickonce update에 관한질문입니다. [1]
4857heyh...7/7/201720590제가 여태까지 작성한 보고서입니다. [2]파일 다운로드1
4856heyh...7/6/201718358성태님 다른질문입니다. [4]
4855JP7/6/201718338Dispose 패턴 구현시 Finalize 재정의에 대한 질문드립니다. [2]
4854heyh...7/6/201718622
4853heyh...7/5/201717778성태님이 작성한대로 해봤습니다. [1]파일 다운로드1
4852김레오7/4/201721250서드파티 dll 디버깅에 대해 질문드립니다. [2]
4851김현준7/3/201721838Datagridview VirtualMode 시 GC가 계속 호출되는 현상이 이해가 안갑니다. [2]
4850heyh...7/3/201720276성태님 밑에 질문드렸던 오류입니다. [1]파일 다운로드1
4849포플러7/2/201742390C#으로 만든 프로그램이 어느 순간 속도가 느려지거나 멈춤현상이 있습니다. [4]
4848윤진영7/2/201722608Microsoft Visual C++ 6.0 무설치 관련 [1]
4847heyh...6/30/201719874아무리 고민해도 답이 안나와서.. 질문 드립니다 [1]
4846heyh...6/28/201719477Clickonce에서 Clickonce로 변수 전달 [1]
4845heyh...6/26/201718978vb.net 에서 manifest 제거 방법 [1]파일 다운로드1
4844san6/21/201718494part3 pdf파일로 보는데 눈아퍼요.... 활자로 보고싶어요 [2]
4843윤현수6/20/201717164socket통신에 관한 질문입니다. [1]
4842오세운6/7/201718197로그인폼 다시 질문드려요. [1]
4841popo6/7/201719220궁금한사항이 있어 질문 드립니다. [1]
4840윤현수6/5/201718913datagridview에 바인딩시킨 dataset.table에 관련된 질문입니다. [2]파일 다운로드1
4839오세운6/2/201720058로그인폼 만들기 [1]
... 31  32  33  34  35  36  37  38  39  40  [41]  42  43  44  45  ...