Wpis z mikrobloga

Siema miruny z #programowanie #csharp #razorpages #bazydanych Mam projekt. W razor pages robie web app. Z połączeniem do bazy danych i mam tam do bazy danych dodać m.in. Zdjęcie. Prowadzący wymyślił(czyli skopiował ze strony docs.microsoft) żeby zdjęcie dodać jako tablicę bajtów. Czyli w bazie danych mamy image type Blob.
No i przy tworzeniu nowego wpisu do bazy danych nie ma problemu. Korzystam z


W CSie mam kod:

var target = new MemoryStream();

Upload.CopyTo(target);
Recipe.Image = target.ToArray();

Potem podobnie zczytuje i wyświetlam. Wszystko Git.
Ale prowadzący chce, aby aplikacja sprawdzała po uruchomieniu czy jest baza danych, jak nie ma to żeby ją tworzyła i kilka wpisów było predefiniowanych przy tworzeniu. I jak z dodawaniem stringów sobie poradziłem, tak z dodaniem zdjęcia nie mam pomysłu. Może mi ktoś pomóc albo naprowadzić gdzie tego szukać?
gdziemojimbuspiatka - Siema miruny z #programowanie #csharp #razorpages #bazydanych M...

źródło: comment_1622228938FCqPLRtX7J7yTVXPc8WHtr.jpg

Pobierz
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@gdziemojimbuspiatka: No okej, ale czy w zadaniu zostało podane w jaki sposób ten plik ma się w tej nowo utworzonej bazie znaleźć?
Jeśli nie to nie widzę przeszkód, aby:
1. Wczytać obrazek z pliku
2. Przypisać go do Image,
3. Zapisać Recipe w bazie
  • Odpowiedz
@Hirunkan: Chodzi zasadniczo o to, żeby wysłać program bez bazy danych. Pierwsze uruchomienie tworzy bazę. No i mam kilka opcji z utworzeniem ale żadne nie działa, albo nie wiem jak to wykorzystać.
Próbowałem :

Image = File.ReadAllBytes("~/images/gl.jpg")

I wielu innych opcji.
@grubson234567 ale jak to wrzucić w Image?
  • Odpowiedz
I wielu innych opcji. @grubson234567 ale jak to wrzucić w Image?

@gdziemojimbuspiatka: Praktycznie każdy obiekt można skonwertować na tablicę byte. Robisz taką konwersje z image > byte[] > Base64 string. I w drugą stroną tak samo możesz dekodować. Stack overflow czy wujek googla w tym pomoże :) Ja ci gotowej metody nie dam bo nie wiem na jakim projekcie i frameworku tam obecnie siedzisz.
  • Odpowiedz
@gdziemojimbuspiatka: Wyciągnij to z using i daj w try catch bo jestem w 99% pewien że dostaniesz exception o niemożliwości otwarcia pliku. Tylda oznacza katalog domiwy użytkownika. Możesz spróbować zamienić tylde na kropkę. Ale najlepiej jak poczytasz o resourcach i odwoływaniu się do nich.
  • Odpowiedz