Skip to content

Instantly share code, notes, and snippets.

@JeremyMorgan
Created June 15, 2021 18:11
Show Gist options
  • Save JeremyMorgan/6697409968d9120ee8dcc3d0d1b0c7bb to your computer and use it in GitHub Desktop.
Save JeremyMorgan/6697409968d9120ee8dcc3d0d1b0c7bb to your computer and use it in GitHub Desktop.
Blazor Upload
private async Task processImage() {
// create single httpclient
HttpClient client = new HttpClient {
BaseAddress = new Uri(baseUrl + "/face/v1.0/detect?returnFaceAttributes=age,glasses,emotion,headpose,gender&ReturnFaceLandmarks=true")
};
HttpResponseMessage response = null;
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "xxxxxxxxxxxxxxxxxxx");
// if we've uploaded files:
if (loadedFiles.Count > 0) {
foreach(var file in loadedFiles) {
Stream stream = file.OpenReadStream();
MemoryStream ms = new MemoryStream();
await stream.CopyToAsync(ms);
stream.Close();
// create request object
var request = new HttpRequestMessage(HttpMethod.Post, client.BaseAddress);
foreach(var file in loadedFiles) {
Stream stream = file.OpenReadStream();
MemoryStream ms = new MemoryStream();
await stream.CopyToAsync(ms);
stream.Close();
var request = new HttpRequestMessage(HttpMethod.Post, client.BaseAddress);
var imageData = $ "data:{file.ContentType};base64,{Convert.ToBase64String(ms.ToArray())}";
MultipartFormDataContent multipartContent = new MultipartFormDataContent();
multipartContent.Add(new StringContent(imageData, Encoding.Default, "application/octet-stream"));
response = await client.PostAsync(request.RequestUri, multipartContent);
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment