public async Task <FileContent> Save(string path, string fileName, Stream fileStream) { if (string.IsNullOrWhiteSpace(path)) { throw new ArgumentNullException(nameof(path)); } if (string.IsNullOrWhiteSpace(fileName)) { throw new ArgumentNullException(nameof(fileName)); } if (fileStream == null) { throw new ArgumentNullException(nameof(fileStream)); } fileName = GetUniqueFileName(fileName); string relativePath = Combine(path, fileName); //ensure to begin fileStream.Seek(0, SeekOrigin.Begin); await _fileStorageProvider.Save(relativePath, fileStream); var r = new FileContent() { FileName = fileName, ReletivePath = relativePath, Folder = path, LastModifiedTime = DateTime.Now, }; await _fileRepository.InsertAsync(r); return(r); }