Reputation: 2777
I want to do a MultipartFormDataContent
request. But I also want to pass a lot of params with it. When I'm just doing a post I do this:
public async Task<Webservice> inviteMembrs(List<KeyValuePair<string, string>> values)
{
String strUrl = String.Format("http://*****.com/nl/webservice/abc123/members/invite");
var http = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, new Uri(strUrl));
request.Content = new HttpFormUrlEncodedContent(values);
var result = await http.SendRequestAsync(request);
var data = new Webservice { Status = result.StatusCode };
if (result.StatusCode == Windows.Web.Http.HttpStatusCode.Ok && result.Content != null)
{
data.Data = await result.Content.ReadAsStringAsync();
Debug.WriteLine(data.Data);
}
return data;
}
This works perfect. But now I also want to pass an image with it. I found a lot of examples but always without extra params. Anyone can help?
Upvotes: 1
Views: 1141
Reputation: 8126
Try the following code:
HttpClient httpClient = new HttpClient();
MultipartFormDataContent content = new MultipartFormDataContent();
content.Add(new StringContent(parameter), "name");
content.Add(new StreamContent(stream), "param", "filename");
HttpResponseMessage httpResponseMessage = await httpClient.PostAsync(address, content);
Upvotes: 2