public async Task UploadThreadImage(IFormFile file, int id) { var ach = _service.GetById(id); //connect to azure account container var connectionString = _configuration.GetConnectionString("AzureStorageAccount"); //get the blog container var container = _uploadService.GetBlobContainer(connectionString, "achievement-images"); //parse the context disposition response header var contentDisposition = ContentDispositionHeaderValue.Parse(file.ContentDisposition); //grab the filename var filename = contentDisposition.FileName.Trim('"'); //get a refrence to a block blob var blockBlob = container.GetBlockBlobReference(filename); //On that block blob, Upload our file <-- file uploaded to the cloud await blockBlob.UploadFromStreamAsync(file.OpenReadStream()); //set the thread image to the URI await _service.UploadPicture(ach.Id, blockBlob.Uri); }