in src/AIHub/Controllers/DocumentComparisonController.cs [103:145]
public async Task<IActionResult> UploadFile()
{
List<IFormFile> documentFiles = Request.Form.Files.ToList();
// pre-validations
if (documentFiles == null || !documentFiles.Count.Equals(2))
{
ViewBag.Message = "You must upload exactly two documents";
return View("DocumentComparison", model);
}
foreach (var documentFile in documentFiles)
{
if (CheckImageExtension(documentFile.FileName.ToString()))
{
ViewBag.Message = "You must upload pdf documents only";
return View("DocumentComparison", model);
}
}
string[] urls = new string[2];
string[] tabNames = new string[2];
for (int i = 0; i < documentFiles.Count; i++)
{
string url = documentFiles[i].FileName.ToString();
url = url.Replace(" ", "");
tabNames[i] = url;
BlobClient blobClient = containerClient.GetBlobClient(url);
var httpHeaders = new BlobHttpHeaders
{
ContentType = "application/pdf",
};
await blobClient.UploadAsync(documentFiles[i].OpenReadStream(), new BlobUploadOptions { HttpHeaders = httpHeaders });
urls[i] = blobClient.Uri.ToString();
}
// Call EvaluateImage with the url
await DocumentComparison(urls, tabNames, Request.Form["prompt"].ToString());
ViewBag.Waiting = null;
return Ok(model);
}