Krzysztof Paździorny 0 Napisano 14 Stycznia 2021 Udostępnij Napisano 14 Stycznia 2021 w Sfera problem z dodawaniem zdjęć. (edytowane) Cześć, napotkałem mały problem z dodawaniem zdjęć oraz aktualizacją zdjęć poprzez nexo SDK. Odczyt zdjęcia realizuje kodem: IAsortymenty asortyment = Sfera.PodajObiektTypu<IAsortymenty>(); Asortyment aso = asortyment.Dane.Wszystkie().Where(a => a.Symbol == "11").Single(); using (IAsortyment towar3 = asortymenty.Znajdz(aso)) { foreach (var md in aso.MediaDokumenty) { byte[] dane = md.MediaDokument.DokumentZawartosc.Dane; File.WriteAllBytes(string.Format(@"c:\subiektotest\dane_{0}_{1}_{2}.{3}", aso.Symbol, md.Numer, md.MediaDokument.Nazwa, md.MediaDokument.Typ), dane); } Console.WriteLine("Poprawnie zapisano fotke"); } Odczyt zdjęcia i zapis do pliku działa prawidłowo. Chciałem dokonać zapisu zdjęcia do bazy poprzez: md.MediaDokument.DokumentZawartosc.Dane public static byte[] converter(Image x) { ImageConverter _imageConverter = new ImageConverter(); byte[] xByte = (byte[])_imageConverter.ConvertTo(x, typeof(byte[])); return xByte; } ISzablonyAsortymentu szablony = Sfera.PodajObiektTypu<ISzablonyAsortymentu>(); IAsortymenty asortymenty = Sfera.PodajObiektTypu<IAsortymenty>(); IAsortyment nowyTowar = asortymenty.Utworz(); ICenniki cenniki = Sfera.PodajObiektTypu<ICenniki>(); ICennik cennik = cenniki.Utworz(); IPozycjeCennika pozycjeCennika = Sfera.PodajObiektTypu<IPozycjeCennika>(); Podmiot alegro = podmioty.Dane.Wszystkie().Where(pdm => pdm.NazwaSkrocona == "Maria Malinowska").FirstOrDefault(); nowyTowar.WypelnijNaPodstawieSzablonu(szablony.DaneDomyslne.Towar); nowyTowar.AutoSymbol(); nowyTowar.Dane.Nazwa = "Produkt"; nowyTowar.Dane.Opis = "Działa?"; nowyTowar.Dane.JednostkaSprzedazy.Masa = 10m; var kod = new KodKreskowy() { Kod = "6684666666222" }; nowyTowar.Dane.PodstawowaJednostkaMiaryAsortymentu.KodyKreskowe.Add(kod); nowyTowar.Dane.PodstawowaJednostkaMiaryAsortymentu.PodstawowyKodKreskowy = kod; nowyTowar.Dostawcy.Dodaj(alegro); nowyTowar.Dane.DaneAsortymentuDostawcyPodstawowego.Symbol = "11"; foreach (PozycjaCennika poz in nowyTowar.Dane.PozycjeCennika) { IPozycjaCennika jestPozycja = pozycjeCennika.Znajdz(poz); switch (jestPozycja.Dane.Cennik.PoziomCen.Nazwa) { case "Podstawowy": jestPozycja.Dane.CenaNetto = 999.99m; break; } } foreach (var md in nowyTowar.Dane.MediaDokumenty) { Image photo = Image.FromFile("photo.jpg"); md.ZdjecieGlowne = true; md.MediaDokument.Nazwa = "Fotka.jpg"; md.MediaDokument.Typ = "jpg"; md.MediaDokument.DokumentZawartosc.Dane = converter(photo); } if (nowyTowar.Zapisz()) Console.WriteLine("Poprawnie zapisano nowy towar"); else Console.WriteLine("Coś nie działa"); Podczas kompilacji nie zostaje zwrócony błąd, zdjęcie się nie dodaje. Podczas próby aktualizacji zdjęcia otrzymuje błąd: Cytat Wystąpił nieobsługiwany wyjątek typu „InsERT.Mox.DataAccess.UnsponsoredModificationException” w InsERT.Mox.EntityFrameworkSupport.dll Modyfikacja pola Dane encji DokumentZawartosc nie powiodła się, ponieważ albo encja nie została przyłączona do obiektu kontrolującego modyfikację danych (biznesowego), albo ten, do którego jest przyłączona nie pozwala na zmianę tego konkretnego pola. Edytowane 14 Stycznia 2021 przez Krzysztof Paździorny Link to postu
Jerzy Dudra 38 Napisano 14 Stycznia 2021 Udostępnij Napisano 14 Stycznia 2021 w Sfera problem z dodawaniem zdjęć. Niestety dostęp sferyczny do zdjęć nie jest obecnie obsługiwany. Taka możliwość pojawi się w jednej z najbliższych wersji. Link to postu
Krzysztof Paździorny 0 Napisano 14 Stycznia 2021 Autor Udostępnij Napisano 14 Stycznia 2021 w Sfera problem z dodawaniem zdjęć. (edytowane) 4 godziny temu, Jerzy Dudra napisał: Niestety dostęp sferyczny do zdjęć nie jest obecnie obsługiwany. Taka możliwość pojawi się w jednej z najbliższych wersji. W takim razie, jest jakiś sposób na masowy upload zdjęcia dla każdego towaru w bazie ? Oraz dlaczego dostęp sferyczny jest możliwy do pobrania zdjęcia , odczytu jego bajtowej postaci. Edytowane 14 Stycznia 2021 przez Krzysztof Paździorny Link to postu
Jerzy Dudra 38 Napisano 15 Stycznia 2021 Udostępnij Napisano 15 Stycznia 2021 w Sfera problem z dodawaniem zdjęć. Obecnie nie ma wsparcia dla "masowego upload'u" zdjęć. Pracujemy nad nim, jak już wcześniej wspominałem. Odczyt jest dostępny od początku bo potrzebny był w nexo. Link to postu
Krzysztof Paździorny 0 Napisano 15 Stycznia 2021 Autor Udostępnij Napisano 15 Stycznia 2021 w Sfera problem z dodawaniem zdjęć. ew. jest możliwość uploadu zdjęć do biblioteki załączników oraz później przypisanie każdego zdjęcia z osobna do danego towaru ? Link to postu
Jerzy Dudra 38 Napisano 15 Stycznia 2021 Udostępnij Napisano 15 Stycznia 2021 w Sfera problem z dodawaniem zdjęć. API do biblioteki załączników jest i można go użyć do dodania dowolnych plików np. obrazków. to towarów. Gdy pojawi się API do zdjęć, będzie można napisać rozwiązanie, które "przepisze" obrazki z biblioteki załączników do zdjęć towarów. Być może biblioteka załączników okaże się wystarczająco dobra dla Pana wdrożenia. Link to postu
Jerzy Dudra 38 Napisano 26 Stycznia 2021 Udostępnij Napisano 26 Stycznia 2021 w Sfera problem z dodawaniem zdjęć. Jak pisałem wcześniej, nowe API do dodawania zdjęć pojawi się w jednej z najbliższych wersji. Rozwiązanie opisane tutaj: również powinno zadziałać. using InsERT.Mox.BibliotekaDokumentow.ObiektyBiznesowe; ... public void DodajZdjecie(IAsortyment towar, string nazwa, string typ, byte[] content) { var mediaDokumenty = towar.MediaDokumenty(); _ = mediaDokumenty.ImportujMediaDokument(content, nazwa, typ); return towar; } 1 Link to postu
Polecane posty