Я пытаюсь добавить лицо к гарнитуре в Face ++ API.Но когда я пытаюсь сделать HTTP-запрос на публикацию, происходит сбой в методе PostAsync.Он просто сразу возвращается туда, откуда он был унаследован.Как и в моем примере, после выполнения var response = await client.PostAsync(addUrl, formData)
он сразу возвращается к методу Main, не давая мне никакого ответа.Пытался .ConfigureAwait(false)
, но это не помогло.Может быть, у вас есть идеи, почему это происходит?
Документация по API: https://console.faceplusplus.com/documents/40622182
API:
public async Task<string> AddFace(string faceToken)
{
try
{
HttpContent keyContent = new StringContent(Keys.apiKey);
HttpContent secretContent = new StringContent(Keys.apiSecret);
HttpContent facesetTokenContent = new StringContent(facesetToken);
HttpContent faceTokenContent = new StringContent(faceToken);
using (var formData = new MultipartFormDataContent())
{
formData.Add(keyContent, "api_key");
formData.Add(secretContent, "api_secret");
formData.Add(facesetTokenContent, "faceset_token");
formData.Add(faceTokenContent, "face_tokens");
var response = await client.PostAsync(addUrl, formData).ConfigureAwait(false);
string responseString = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
return responseString;
}
}
catch (Exception e)
{
Console.WriteLine(e);
return null;
}
}
MAIN:
static void Main()
{
Bitmap b = new Bitmap(@"C:\dev\ProtingaVizija\SmartVision\d.jpg");
FaceRecognition fr = new FaceRecognition();
var face = JsonConvert.DeserializeObject<AnalyzedFaces>(fr.AnalyzeImage(b));
string faceToken = face.faces[0].face_token;
Faceset fs = new Faceset("d8d6679e5b37c2612e420f94f0225159");
fs.AddFace(faceToken);
string x = fs.GetDetail().Result;
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FormFaceDetection());
}