2010-02-20 3 views
2

HTTP Post Multipart를 사용하여 이미지를 서버로 보내려고합니다. 그 밖의 모든 것은 괜찮습니다. 나는 모든 경계선을 설정하고 물건을 가지고 있습니다.POST Multipart (HTTPRequest)를 통해 이미지 보내기

하지만 손 앞에있는 이미지는 무엇을해야합니까? 바이너리로 변환해야합니까? 다음은 헤더의 헤더 데이터입니다 (Fiddler 사용). 업로드해야하는 내용입니다.

-----------------------------7daea2aa40c80 
Content-Disposition: form-data; name="pict"; filename="pic.jpeg" 
Content-Type: image/pjpeg 

<Binary here ... or at least I think it is> .. 
�����JFIF���������C� (lots more of this I removed) 

어떤 조언이 필요합니까?

답변

2

File.ReadAllBytes 함수를 사용하여 파일을 byte []로 읽을 수 있습니다. 여기에서 StreamWriter를 사용하여 바이트를 응답으로 출력 할 수 있습니다. 변환이 필요 없습니다.

+0

굉장 물건 MIME

에 대한 위키 백과의 기사에서 그것에 대해 자세한 내용을보실 수 있습니다! 이것과 관련된 정보를 찾기 위해 시간을 보냈습니다! –

0

이상적으로 Base64로 설정된 Content-Transfering-Encoding을 사용하고 싶습니다. 그런 다음 File.ReadAllBytes 파일을 바이트 배열로 변환하면 Convert.ToBase64String 메서드를 사용하여 base64로 변환합니다.

당신은 예

string data = 
     @"----------------------------7daea2aa40c80\n"; 
     + @"Content-Disposition: form-data; name="pict"; filename="{0}"\n" 
     + @"Content-Type: image/pjpeg\n"; 
     + @"\n{1}"; 

string filename = "pict.jpg"; 
string bytes = Convert.ToBase64String(File.ReadAllBytes(filename)); 
string request = string.Format(data, filename, bytes); 
관련 문제