public IActionResult Slike(RadniciGrupniUploadSlikaViewModel viewModel) { if (viewModel.Slike == null) { TempData["greske"] += "<li>Morate odabrati najmanje jednu sliku za upload</li>"; return(View(nameof(Slike), viewModel)); } List <string> dozvoljeneEkstenzijeSlika = new List <string>() { ".jpg", ".jpeg", ".png", ".JPG", ".JPEG", ".PNG" }; Regex pravilo = new Regex(@"[0-9]{13}\.[a-z]{3,}"); List <Radnik> radnici = db.Radnici.Include(x => x.Osoba).ToList(); foreach (var slika in viewModel.Slike) { if (slika.ContentType.Contains("images")) { TempData["greske"] += $"<li>{slika.FileName} nije slika</li>"; } if (!pravilo.IsMatch(slika.FileName)) { TempData["greske"] += $"<li>{slika.FileName} naziv nije validan</li>"; } if (dozvoljeneEkstenzijeSlika.All(x => !slika.FileName.EndsWith(x))) { TempData["greske"] += $"<li>{slika.FileName} naziv u validnom formatu</li>"; } string JMBGRadnika = ""; string[] naziv = slika.FileName.Split("."); if (naziv[0].Length == 13) { JMBGRadnika = slika.FileName.Substring(0, 13); } Radnik radnik = null; radnik = radnici.Where(x => x.Osoba.JMBG == JMBGRadnika).FirstOrDefault(); if (radnik == null) { TempData["greske"] += $"<li>Radnik sa {slika.FileName} ne postoji.</li>"; } else { using (MemoryStream memoryStream = new MemoryStream()) { slika.CopyTo(memoryStream); radnik.Osoba.Slika = memoryStream.ToArray(); radnik.Osoba.ContentType = slika.ContentType; db.Radnici.Update(radnik); TempData["uspjeh"] += $"<li>Uspjesno pohranjena slika za {radnik.Osoba.Ime} {radnik.Osoba.Prezime} ({radnik.Osoba.JMBG})</li>"; } } } db.SaveChanges(); //return Json(new { success = true}); return(RedirectToAction(nameof(Slike))); }
public IActionResult Slike() { RadniciGrupniUploadSlikaViewModel viewModel = new RadniciGrupniUploadSlikaViewModel(); return(View(viewModel)); }