• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Asp.Net upload kilku zdjęć

Object Storage Arubacloud
0 głosów
392 wizyt
pytanie zadane 11 marca 2020 w C# przez czujek22 Dyskutant (7,670 p.)
zamknięte 11 marca 2020 przez czujek22

Witam. Mam akcję, która wstawia nowy produkt do bazy a razem z nim uploaduje zdjęcia. W widoku mam 5 inputów dla zdjęć i gdy dodam wszystkie 5 jest ok, produkt się tworzy a zdjęcia dodają. Problem jest, gdy skorzystam tylko np. z 3 inputów a 2 zostawie puste. Wyskakuje błąd w linijce 13:

System.NullReferenceException: 'Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu.'
        [HttpPost]
        [Authorize(Roles = "Admin")]
        public ActionResult AddProduct(EditProductViewModel model,IEnumerable<HttpPostedFileBase> file)
        {
                // Sprawdzenie, czy użytkownik wybrał plik
                if (file != null)
                {
                    if (ModelState.IsValid)
                    {
                        int i = 1;
                        foreach (var item in file)
                        {
                            var itemExt = Path.GetExtension(item.FileName);
                            var jpgitemname = Path.ChangeExtension(itemExt, ".jpg");
                            var itemname = model.Product.ProductTitle + '_'+ i + jpgitemname;
                            var imagespath = Path.Combine(Server.MapPath(AppConfig.ProductsImagesRelativeFolder), model.Product.ProductTitle, itemname);
                            item.SaveAs(imagespath);
                            i++;
                        }
                    
                        model.Product.ImagesName = model.Product.ProductTitle;
                        model.Product.AddedDate = DateTime.Now;

                        db.Entry(model.Product).State = EntityState.Added;
                        db.SaveChanges();

                        return RedirectToAction("AddProduct", new { confirmation = true });
                    }
Widok

<tr><td>Zdjecie 1 (Miniatura)</td><td><input type="file" name="file" required /></td></tr>
<tr><td>Zdjecie 2</td><td><input type="file" name="file"  /></td></tr>
<tr><td>Zdjecie 3</td><td><input type="file" name="file"  /></td></tr>
<tr><td>Zdjecie 4</td><td><input type="file" name="file"  /></td></tr>
<tr><td>Zdjecie 5</td><td><input type="file" name="file"  /></td></tr>

Chcę aby użytkownik mógł wstawić dowolną liczbę zdjęć z zakresu 0-5.

W jaki sposób mogę ustawić dowolną liczbę przychodzących plików  w parametrze funkcji ?

komentarz zamknięcia: Doszedłem do rozwiązania
komentarz 11 marca 2020 przez czujek22 Dyskutant (7,670 p.)

Dobra rozwiązałem to dając normalnego if(item != null)

Podobne pytania

0 głosów
0 odpowiedzi 47 wizyt
pytanie zadane 4 marca w C# przez drewienko Nowicjusz (120 p.)
0 głosów
0 odpowiedzi 205 wizyt
pytanie zadane 6 lipca 2023 w C# przez reaktywny Nałogowiec (40,990 p.)
0 głosów
1 odpowiedź 256 wizyt
pytanie zadane 5 stycznia 2023 w C# przez chrystian Gaduła (4,780 p.)

92,572 zapytań

141,422 odpowiedzi

319,644 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...