Bitmapa na Base64

0

Korzystam z bazy danych MySQL w Delphi 6.0 i niezbędne dla mnie jest przekonwertowanie bitmapy na kodowanie base64 aby móc ją zapisać do bazy danych, a następnie też odczytać z bazy. Szukałem na formu, ale podobnego wątku nie znalazłem, na necie też mało informacji poza takimi że .net ma takie funkcje wbudowane.

Jeśli ktoś z Was robił coś podobnego to będę wdzięczny za wszelką pomoc. Ewentualnie propozycje jak inaczej rozwiązać ten problem, zawsze na końcu pozostaje oczywiście zwykłe zapisywanie plików na dysku, jednak zależy mi na bazie danych.

0

Bazy danych mają do tego specjalne typy pól: LOB/BLOB (Large OBject/Binary Large OBject). MySQL posiada jeszcze typ VARBINARY.

0

W porządku. Problem polega na tym, że biblioteka do obsługi MySQL (ta pod Delphi) akceptuje zapytania SQL tylko w postaci PCHAR dlatego muszę bitmapę przekonwertować do kodowania base64, bo na danych binarnych jeden nieprawidłowy znak w całym zapytaniu i mysql się wywala.

0

Ale pliku binarnego nie masz przekazać w zapytaniu. Do tego Delphi ma specjalne, dodatkowe klasy: TBlobStream, TBlobField.

http://www.mysqlbrasil.com.br/mysql/inserir--jpg-em-campo-blob-via-delphi

0

Z tym, że nie korzystam z żadnych bazodanowych mechanizmów dostarczonych przez DELPHI, wszystko wykonuję na zapytaniach SQL i dołączonej biblioteki, chyba że jest jakaś możliwość połączenia komponentów BDE/Interbase wraz z MySQL. To by troszkę rozwiązało problem

1 użytkowników online, w tym zalogowanych: 0, gości: 1