У меня есть приложение .net MVC C #, которое я использую для интеграции с FACE ++ (распознавание лиц) API. Я пытаюсь создать пользователя, передавая необходимую информацию из моего приложения в API, API требует сначала войти в систему, а затем передать параметры, есть один параметр (то есть аватар (фото)), который я не смогдля передачи, все остальные параметры передаются правильно, и пользователь создается, но аватар пользователя / фотография остается пустым. Любая помощь по этой проблеме будет принята с благодарностью. Спасибо. Вот что я сделал до сих пор.
public async Task<ActionResult> FileUploadPictures(HttpPostedFileBase file)
{
long fileSizeInBytes = file.ContentLength;
MemoryStream target = new MemoryStream();
file.InputStream.CopyTo(target);
byte[] filephoto = target.ToArray();
string apiUrl = "http://api/auth/login"; //api url for Login
string apiUrlCreate = "http://apisubject/file "; //api url for Creating User
//Login Object
var dataLogin = new
{
username = "username",
password = "password",
};
using (HttpClient client = new HttpClient())
{
try
{
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new
System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("User-Agent", "Koala Admin");
// calling api for login
HttpResponseMessage response = await client.PostAsJsonAsync(
new Uri(apiUrl), dataLogin);
if (response.IsSuccessStatusCode)
{
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new
System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("multipart/form-data"));
// content object for Creating User
var content = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("name", "login"),
new KeyValuePair<string, string>("subject_type", "0"),
**new KeyValuePair<string, string>("avatar", Convert.ToString(filephoto)), // this parameter is not being set correctly**
});
//calling api for crating user
HttpResponseMessage responseUserCreation = await client.PostAsync(
apiUrlCreate, content);
if (responseUserCreation.IsSuccessStatusCode)
{
var data2 = await responseUserCreation.Content.ReadAsStringAsync();
}
}
return View();
}
catch (Exception ex)
{
throw ex;
}
}
}