Wie beheben Sie ein ungültiges Modellstaat beim Hochladen eines Bildes auf Rasierseiten?C#

Ein Treffpunkt für C#-Programmierer
Guest
 Wie beheben Sie ein ungültiges Modellstaat beim Hochladen eines Bildes auf Rasierseiten?

Post by Guest »

Meine Dev -Umgebung ist ASP.NET Core Razor -Seite auf .NET 8, mit EF Core und MS SQL Server in Visual Studio 2022. Upload -Formular (create.cshtml) zum Hinzufügen von Bildern zu einem Bootstrap -Karussell hinzufügen. /Images -Verzeichnis in meiner Lösung. Diese Funktionalität funktioniert korrekt. Diese Funktionalität funktioniert nicht. im Watch -Fenster bereitgestellt werden: "Dateiname, SubKey = Dateiname, Key = Dateiname, ValidationState = Invalid", wobei der Wert null ist. >

Code: Select all

public class CarouselItem
{
public int Id { get; set; }
public required string Description { get; set; }
[DisplayName("File Name (GUID)")]
public required string FileName { get; set; }
[DisplayName("Alt File Name")]
public required string AltFileName { get; set; }
[DisplayName("Display Start Date")]
public required DateOnly DisplayStartDate { get; set; }
[DisplayName("Display Stop Date")]
public required DateOnly DisplayStopDate { get; set; }
}
< /code>
 create.cshtml.cs Datei: < /p>
public class CreateModel : PageModel
{
private readonly IWebHostEnvironment _webHostEnvironment;
private readonly ApplicationDbContext _context;

public CreateModel(IWebHostEnvironment webHostEnvironment, ApplicationDbContext context)
{
_webHostEnvironment = webHostEnvironment;
_context = context;
}

[BindProperty]
public CarouselItem CarouselItem { get; set; }

[BindProperty]
public IFormFile Image { get; set; }

public void OnGet()
{
}

public async Task OnPostAsync()
{
if (Image != null)
{
var fileExtension = Path.GetExtension(Image.FileName);
if (fileExtension.ToLower() == ".jpg")
{
var newFileName = $"{Guid.NewGuid()}{fileExtension}";
var filePath = Path.Combine(_webHostEnvironment.WebRootPath, "images", newFileName);

using (var fileStream = new FileStream(filePath, FileMode.Create))
{
await Image.CopyToAsync(fileStream);
}

CarouselItem.FileName = newFileName;
CarouselItem.AltFileName = Image.FileName;
}
else
{
ModelState.AddModelError("Image", "Only .jpg files are allowed.");
}
}

if (string.IsNullOrEmpty(CarouselItem.FileName))
{
ModelState.AddModelError("CarouselItem.FileName", "The File Name field is required.");
}

if (!ModelState.IsValid)
{
return Page();
}

_context.CarouselItems.Add(CarouselItem);
await _context.SaveChangesAsync();

return RedirectToPage("/Admin/Carousel/Index");
}
}
< /code>
 create.cshtml Datei: < /p>
Create Carousel Items




Description



Alt File Name



Display Start Date



Display Stop Date



File



Create


@section Scripts {

}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post