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

Skracanie stringa base64

Object Storage Arubacloud
0 głosów
278 wizyt
pytanie zadane 17 stycznia 2021 w C# przez Szyszka Gaduła (3,490 p.)

Witam. Czy jest możliwe skrócenie stringa 64? Chodzi mi o string, który został utworzony w taki sposób:

var ms = new MemoryStream();
            img.FormFile.CopyTo(ms);

            var bytes = ms.ToArray();

            var base64 = Convert.ToBase64String(bytes);
            img.ImageURL = "data:image/" + ex + ";base64," + base64;

Mój plik waży zaledwie 230KB, a już link ImageURL nie mieści mi się w bazie danych, gdyż zawiera on 65535 znaków. Dzieki za pomoc!

1 odpowiedź

+3 głosów
odpowiedź 17 stycznia 2021 przez adrian17 Ekspert (344,860 p.)
wybrane 17 stycznia 2021 przez Szyszka
 
Najlepsza

Z definicji base64 jest większy od oryginalnego pliku, bo to reprezentacja tych samych danych używająca mniejszy podzbiór wartości bajtów.

Natomiast... dlaczego w ogóle próbujesz przechowywać obrazek w bazie danych jako base64? To dość dziwny pomysł. Takich danych w ogóle nie przechowuje się w bazie danych, tylko gdzieś obok jako zwykłe pliki. (ewentualnie jako typ BLOB w bazie, ale to ostateczność)

komentarz 17 stycznia 2021 przez Szyszka Gaduła (3,490 p.)
Jako zwykłe pliki? Mam tworzyć do każdego stringa64 tworzyć plik txt i potem z niego odczytywać ten string? Wydaje się to dość niewydajne. Ogólnie próbuję utworzyć coś na wzór hostingu zdjęć. Masz może jakieś podejrzenia, jak np. Facebook przechowuje zdjęcia?
komentarz 17 stycznia 2021 przez adrian17 Ekspert (344,860 p.)

Mam tworzyć do każdego stringa64 tworzyć plik txt i potem z niego odczytywać ten string?

Nie, w ogóle nie myśleć o base64. Po prostu zapisać plik z obrazkiem.

Masz może jakieś podejrzenia, jak np. Facebook przechowuje zdjęcia?

...po prostu je hostuje jako zwykłe pliki i umieszcza na stronie w tagach <img>. Nie wiem skąd przekonanie że muszą używać data:image :D

Patrz: https://puu.sh/H7NOw/10d1e54991.jpg

 

komentarz 17 stycznia 2021 przez Szyszka Gaduła (3,490 p.)

Mhm, czyli muszę je zapisać na serwerze. Jak mam tego dokonać? Plik wysłany przez użytkownika znajduje się u mnie pod img.FormFile. I jest to:

        public IFormFile FormFile { get; set; }

Szukałem odpowiedzi w Google, jak mam zapisać plik wysłany przez użytkownika na serwerze, ale nie znalazłem odpowiedzi :/.

komentarz 17 stycznia 2021 przez adrian17 Ekspert (344,860 p.)
Nie no, sporo tego da się wyguglować. Na przykład

https://docs.microsoft.com/en-us/aspnet/core/mvc/models/file-uploads?view=aspnetcore-5.0

Natomiast wiele więcej nie pomogę, bo nie wiem jak to się ogólne idiomatycznie robi w ASP.NET.
komentarz 17 stycznia 2021 przez Szyszka Gaduła (3,490 p.)
Dzięki wielkie, udało się :)!

Podobne pytania

0 głosów
0 odpowiedzi 328 wizyt
pytanie zadane 2 maja 2019 w PHP przez `Krzychuu Stary wyjadacz (13,940 p.)
0 głosów
1 odpowiedź 109 wizyt
pytanie zadane 25 marca 2019 w JavaScript przez niezalogowany
0 głosów
0 odpowiedzi 190 wizyt
pytanie zadane 22 sierpnia 2018 w Systemy operacyjne, programy przez Assasz Nałogowiec (30,460 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 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!

...