2

我必须使用具有以下方法的 web 服务:

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

UserReg 是 web 服务端的自定义类,具有多个属性,如用户名、id、纬度、经度等。

我必须通过此方法提交我的数据并在执行此方法后保存 web 服务响应。所有这些操作都将在按钮单击时执行。我怎么能做到这一切。

我正在使用 .net 框架 4.5 和 mvc 4

注意:我只是网络服务的最终用户

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 回答