public async Task <FileUpload> PersistUpload(IFormFile upload, int userId, int?patrolId) { var dbRecord = new FileUpload() { FileSize = upload.Length, Name = upload.FileName, PatrolId = patrolId, UserId = userId }; await this.InsertImageUpload(dbRecord); var name = dbRecord.GetUniqueName(); string path = Path.Combine(_imageRoot, name); using (var fs = new FileStream(path, FileMode.CreateNew)) { using (var rs = upload.OpenReadStream()) { await rs.CopyToAsync(fs); } } return(dbRecord); }