public async Task <IActionResult> AddPrincPhoto(IFormFile image, int idPerso, string photoPrincipale) { ViewBag.NbreVisitUnique = GetVisitIP(); ViewBag.NbrePagesVues = GetPageVues(); UserConnect(ViewBag); ConsentCookie(ViewBag); Personnage p = new Personnage { Id = idPerso }; p = p.GetPersoID(idPerso); if (photoPrincipale == "yes") { foreach (PhotoPerso photo in p.Photos) { photo.PhotoPrincipale = false; } } if (image.FileName.Contains(".png") || image.FileName.Contains(".jpg")) { if (image.Length > 1000000) { ViewBag.errors = "Le fichier doit avoir une taille maximale de 1Mo."; return(View("AddPersos", p)); } string NumeroUnique = Guid.NewGuid().ToString("N").Substring(1, 10); if (image.FileName.Contains(".png")) { var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/images/PhotosPersos", p.Id.ToString() + "-" + p.Nom.ToString() + "-" + p.Prenoms[0].Prenom.ToString() + "-" + NumeroUnique + ".png"); var stream = new FileStream(path, FileMode.Create); await image.CopyToAsync(stream); PhotoPerso photo = new PhotoPerso { Url = "images/PhotosPersos/" + p.Id.ToString() + "-" + p.Nom.ToString() + "-" + p.Prenoms[0].Prenom.ToString() + "-" + NumeroUnique + ".png", IdPerso = p.Id, PhotoPrincipale = true }; p.Photos.Add(photo); } if (image.FileName.Contains(".jpg")) { var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/images/PhotosPersos", p.Id.ToString() + "-" + p.Nom.ToString() + "-" + p.Prenoms[0].Prenom.ToString() + "-" + NumeroUnique + ".jpg"); var stream = new FileStream(path, FileMode.Create); await image.CopyToAsync(stream); PhotoPerso photo = new PhotoPerso { Url = "images/PhotosPersos/" + p.Id.ToString() + "-" + p.Nom.ToString() + "-" + p.Prenoms[0].Prenom.ToString() + "-" + NumeroUnique + ".jpg", IdPerso = p.Id, PhotoPrincipale = true }; p.Photos.Add(photo); } } else { ViewBag.errors = "Seuls les fichiers .jpg ou .png sont accceptés"; return(View("AddPersos", p)); } p = p.AddPhotos(); return(View("AddPersos", p)); }