2

次のようなメソッドを持つ Web サービスを使用する必要があります。

SubmitUser(UserReg user, HttpPostedFileBase image)
{
   // webservice side processing`
}

UserReg は、ユーザー名、ID、緯度、経度などのいくつかのプロパティを持つ Web サービス側のカスタム クラスです。

このメソッドを使用してデータを送信し、このメソッドの実行後に Web サービスの応答を保存する必要があります。このすべてのアクションは、ボタンのクリック時に実行されます。どうすればこれをすべて行うことができますか。

.net フレームワーク 4.5 と mvc 4 を使用しています

:私はWebサービスのエンドユーザーです

Update1 : SubmitUser は Web サービス側のメソッドであり、私の URL は

somepage.com/api/SubmitUser

4

1 に答える 1

1

multipart/form-dataエンコードされたリクエストを送信できる HttpClient を使用できます。

byte[] imageData = ...
var requestContent = new MultipartFormDataContent();
var imageContent = new ByteArrayContent(imageData);
imageContent.Headers.ContentType = MediaTypeHeaderValue.Parse("image/jpeg");

// Add the image
requestContent.Add(imageContent, "image", "image.jpg");

// Now add some additional parameters that will be bound to the UserReg object
requestContent.Add(new StringContent(HttpUtility.UrlEncode("value1")), "param1");
requestContent.Add(new StringContent(HttpUtility.UrlEncode("value2")), "param2");
requestContent.Add(new StringContent(HttpUtility.UrlEncode("value3")), "param2.subparam1");

var client = new HttpClient();
var res = client.PostAsync("http://your_web_service_endpoint", requestContent).Result;
于 2013-10-07T09:29:23.123 に答える