protected async Task <MediaFile[]> CreateAllFilesAsync(string name = null, bool saveToDisk = false, string userId = null) { if (saveToDisk) { return(await SaveAllFilesAsync(name, userId)); } var files = GetUploadedFiles(name); if (files?.Length > 0L) { var index = 0; var array = new MediaFile[files.Length]; if (string.IsNullOrWhiteSpace(userId)) { userId = await GetUserIdAsync(); } foreach (var file in files) { using (var ms = new MemoryStream()) { await file.CopyToAsync(ms); var content = ms.ToArray(); array[index++] = new MediaFile { UserId = userId, HasContent = true, Content = content, ContentType = file.ContentType, FileName = file.FileName, DateCreated = DateTime.Now, Length = file.Length, HashCode = CryptoExtensions.ComputeHash(content) }; } } return(array); } return(null); }