private async Task LoadFilesAsync(InputFileChangeEventArgs e) { if (e.FileCount > 1) { var files = e.GetMultipleFiles(); var tasks = new List <Task>(); foreach (var file in files) { Logger.LogInformation($"uploading multiple files: {file.Name}"); tasks.Add(ChatViewModel.SendFileAsync(new File { Name = file.Name, Size = (ulong)file.Size, ContentType = file.ContentType }, file.OpenReadStream(maxAllowedSize: file.Size))); } await Task.WhenAll(tasks); } else { var file = e.File; Logger.LogInformation($"uploading file: {file.Name}"); await ChatViewModel.SendFileAsync(new File { Name = file.Name, Size = (ulong)file.Size, ContentType = file.ContentType, }, file.OpenReadStream(maxAllowedSize: file.Size)); } }