Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Komplette Bilder in MySQL Datenbank speichern (https://www.delphipraxis.net/66194-komplette-bilder-mysql-datenbank-speichern.html)

Flare 26. Mär 2006 15:26


Komplette Bilder in MySQL Datenbank speichern
 
Ich arbeite zur Zeit an einem Online-Rollenspiel, bei dem es für die Charaktere auch Avatare geben soll.
Ich finde es allerdings ein bisschen dürftig wenn ich nur den Link auf eine im Internet vorhandene Datei speichern muss.
Ich möchte es eigentlich so, dass der Spieler seinen Avatar selber hochladen kann, und dieser dann in einer MySQL-Datenbank gespeichert wird.

Und da kommen meine 2 Fragen:
1. Wie kann ich ein Bild (binär) in einer MySQL-Datenbank speichern?
2. Wie rufe ich dieses Bild dann wieder ab, sodass man das Bild sieht, also nicht den Binärcode?

Es wäre nett wenn ihr mir (wenn möglich) auch ein paar Codefetzen anbieten könntet.

Mfg, FLare

Kidix 26. Mär 2006 15:36

Re: Komplette Bilder in MySQL Datenbank speichern
 
wieso lädst du das bild nicht per php code hoch und setzt dann den pfad in die mysql tabelle...ist doch viel viel besser!

Kidix

jfheins 26. Mär 2006 15:46

Re: Komplette Bilder in MySQL Datenbank speichern
 
Du kannst das Bild in der MySQL-Tabelle speichern, dazu nimm am besten ein BLOB-Feld.

Beim Uploaden einfach rein damit und beim aufrufen brauchst du eine extra Datei, die den passenden Conttent-Type header ausgibt und dann einfach das bild aus der daenbank ausliest. Zur maskierung würde ich persönlic noch empfehlen, das bild base64encoded in der db zu speichern, damit es zu keinen problemen kommt ;)

Chewie 26. Mär 2006 16:00

Re: Komplette Bilder in MySQL Datenbank speichern
 
Das Bild in der Datenbank zu speichern ist möglich, ich würde aber davon abraten. Speicher das Bild im Dateisystem und speicher den Pfad in der Datenbank, so ist das am Geschicktesten. Durch die Ablage von Bildern in der Datenbank beeinträchtigst du evtl. die Performance, im Dateisystem nicht.

Flare 26. Mär 2006 16:02

Re: Komplette Bilder in MySQL Datenbank speichern
 
Danke an euch beide, ich habe es, wie Kidix vorgeschlagen hat, per FTP reingesetzt.
Ich musste zwar ne ganze Weile nach dem Code dafür suchen, habe jetzt diesen hier genommen:
Code:
$file = httppost('file');   
$conn_id = ftp_connect($server);
$login_result = ftp_login($conn_id, $username, $password);
$upload = ftp_put($conn_id, $newfile, $file, FTP_BINARY);
ftp_quit($conn_id);

Vielen Dank! :dp:


Flare

Flare 26. Mär 2006 17:03

Re: Komplette Bilder in MySQL Datenbank speichern
 
Jetzt habe ich noch ein Problem und ich entschuldige mich schon mal für das vorzeitige Pushen.

Offline Funkioniert es wunderbar, ich kann auf meinen Server die Datei (in meinem Fall ein Bild) hochladen, aber online bringt er mir den Fehler, dass er auf die Datei, die ich hochladen möchte keinen Zugriff hat.

Der Programmiertext den ich genommen habe, habe ich ja schon gepostet.
Weiß jemand woran das liegt?


Flare

Kidix 27. Mär 2006 16:26

Re: Komplette Bilder in MySQL Datenbank speichern
 
evtl rechte falsch gesetzt?

Flare 27. Mär 2006 17:57

Re: Komplette Bilder in MySQL Datenbank speichern
 
Das sind dateien auf dem eigenen PC...und wie soll ich darauf Rechte legen? Ich kenne nur die Funktion(en) zum Rechtesetzen auf nem FTP-Server.


Flare


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz