public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } Room.RoomName = roomName; _context.Rooms.Add(Room); await _context.SaveChangesAsync(); return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync(string RoomName) { Room = await _context.Rooms.Include(s => s.Songs).FirstOrDefaultAsync(room => room.RoomName == RoomName); var data = FileUpload.UploadSong; if (data == null) { return(NotFound()); } var fileName = WebUtility.HtmlEncode(Path.GetFileName(data.FileName)); string roomPath = $"{_env.WebRootPath}/Media/{Room.RoomId}"; if (!Directory.Exists(roomPath)) { Directory.CreateDirectory(roomPath); } string filePath = Path.Combine(roomPath, fileName); using (var fileStream = new FileStream(filePath, FileMode.Create)) { await data.CopyToAsync(fileStream); } //media/roomid/songname Song = new Song() { SongName = data.FileName, RoomId = Room.RoomId, FileLocation = $"/Media/{Room.RoomId}/{fileName}" }; _context.Songs.Add(Song); await _context.SaveChangesAsync(); // redirect back to the index action to show the form once again //return Page(); Room = await _context.Rooms.Include(s => s.Songs).FirstOrDefaultAsync(m => m.RoomName == RoomName); Songs = Room.Songs.ToList(); return(Page()); }