我必须使用具有以下方法的webservice:
SubmitUser(UserReg user, HttpPostedFileBase image)
{
// webservice side processing`
}
UserReg是网络服务端的自定义类,具有多个属性,如用户名,id,纬度,经度等。
我必须通过此方法提交数据,并在执行以下命令后保存网络服务响应
这种方法。所有这些操作将在单击按钮时执行。我该怎么办呢。
我正在使用.net Framework 4.5和MVC 4
注意:我只是网络服务的最终用户
更新1:SubmitUser是一个Web服务端方法,我的URL是
somepage.com/api/SubmitUser
最佳答案
您可以使用HttpClient来发送multipart/form-data
编码的请求:
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;
关于c# - 上传HttpPostedFileBase文件以及一些参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19220234/