2013-06-16 3 views
0

나는 다음과 같은 시나리오를 가지고 : 사용자가 모바일 애플리케이션을 사용하고 다음과 같은 데이터를 저장하는 개체를 만들 수 있습니다,전송 객체 데이터,

이름, 문자열 주소 인 문자열입니다 그림은 휴대 전화의 카메라를 사용하여 찍은 사진으로 로컬로 비트 맵 이미지로 저장됩니다.

사용자는 이러한 데이터를 HTTP 요청을 수신하는 WCF 웹 서비스 인 서버 백엔드에 저장할 수 있습니다. 내가 객체 문자열을 JSON 객체로 인코딩하고 공중파를 통해 http 서비스로 보낼 수는 있지만, 이미지를 서버로 전송하는 방법을 모르겠다. XML/JSON으로 인코딩하여 문자열과 함께 보낼 수 있습니까?

응용 프로그램은 현재 C#으로 작성된 Windows Phone 8 응용 프로그램이지만, 가까운 시일 내에 iOS 장치 용으로 동일한 응용 프로그램이 작성됩니다.

+0

당신이 파일로 이미지를 업로드 할 수 있도록 당신은 "mutilpart/폼 데이터"를 통해 HTTP 요청을 사용할 수있는

Stream stream = (Stream)openDialog.File.OpenRead(); byte[] bytes = new byte[stream.Length]; stream.Read(bytes, 0, (int)stream.Length); BitmapImage bmi = new BitmapImage(); using (MemoryStream ms = new MemoryStream(bytes)) { bmi.SetSource(ms); newRow.Thumbnail = bmi; } 

. 또는 이미지를 Base64로 인코딩하여 문자열로 업로드 할 수 있습니다. –

+0

이름 (문자열)과 그림 (바이트 배열)의 두 가지 속성을 포함하는 POCO 개체를 만들고 그림과 이름으로 POCO를 채울 수 있습니다. 그것을 서버에 보내십시오. 위의 간단한 C# 코드는 쉬워야합니다. – Rajesh

답변

0

각 이미지에 대한 스트림 변환을 추가하고 세부 정보를 목록에 추가해야합니다.

클라이언트 측. 서비스 측면

string filePath = ConfigurationManager.AppSettings.Get("ImageUploadPath"); 

          if (!Directory.Exists(filePath)) 
          { 
           Directory.CreateDirectory(filePath); 
          } 

          filePath = filePath + "\\" + picture.FileName + "." + picture.FileType; 

          if (picture.FileName != string.Empty) 
          { 
           fileStream = File.Open(filePath, FileMode.Create); 
           writer = new BinaryWriter(fileStream); 
           writer.Write(picture.FileStream); 
          } 
관련 문제