Bilder in welcher Datenbank speichern?

3 Antworten

Speicher ich diese dann in der Datenbank oder wie mache ich das?

Handelt es sich um einzelne, kleine Bilder, so wie hier bei GF?

An sich kannst du die in der Datenbank (als BLOB) speichern.

Ein Nachteil gegenüber dem Dateisystem ist eine etwas größere Ladezeit (dagegen gibt es aber Caching-Strategien) und deine Datenbank wird im Speicherverbrauch natürlich größer - das Gleiche gilt für ihre Auslastung. Dafür kannst du dir leichter ein Backup der Daten erstellen oder verschiedene Versionen (chronologisch) speichern.

Oft wird daher der Weg, nur die Bildfpfade zu hinterlegen, empfohlen.

Wenn ja, welche Datenbank kann das?

MariaDB, MySQL, MSSQL, PostgreSQL, ...

Wenn zb der Pfad des Bildes eingetragen wird, dann check ich nicht wie man den Pfad bekommt.

Den liest du aus. Er müsste dann aber auch assoziativ zu einem einzigartigen Key gespeichert werden, sodass du in deiner Serveranwendung leicht danach suchen kannst.

Beispiel:

Das ist deine Datenbanktabelle:

Key    |  Path                              |  Image description
--------------------------------------------------------------------
flower |  images/flowers/flower.jpg         | White small flower
car    |  images/cars/car.jpg               | Yellow Trabant
dog    |  images/animals/dog.jpg            | Fat old dog

Die Bilder sind beispielhaft in verschiedenen Ordnern hinterlegt. Der Pfad ist relativ vom Rootverzeichnis der Webseite ausgehend.

In deinem HTML-Template hast du vielleicht einen Platzhalter gesetzt:

{flower}

der ersetzt werden muss oder direkt einen Funktionsaufruf (Beispiel in PHP):

<?= printImage("flower") ?>

In dieser Funktion wird eine Anfrage an die Datenbank getätigt. Mit den ermittelten Daten kann ein img-/picture-Tag zusammengebaut werden.

Soweit ich weiß , machen das schon fast alle, Instagram,Facebook,Pinterest usw

Chreys 
Fragesteller
 06.06.2020, 12:12

Also Bilder in Datenbank speichern oder was?

0
Marius9391  06.06.2020, 12:13
@Chreys

ja Facebook Speichert jedes Bild das du hochlädst und Verkauft es für 0,01 ct weiter soweit ich weiß

1

Du kannst sie binär als Blob speichern oder auf der Festplatte, dann musst du den Pfad und/oder Dateinamen abspeichern, damit man weiß welches Bild dem Eintrag zugeordnet ist

Chreys 
Fragesteller
 06.06.2020, 12:11

Aber wenn ich einen Server hab. Da speicher ich das Bild auf der Festplatte. Dann den Pfad in die Datenbank. Wenn ich dann den User abfrage, bekomm ich zwar den Pfad, aber wie will man nur mit dem Pfad von auserhalb das Bild bekommen? Check ich nicht :D

0
haferbreii  06.06.2020, 12:13
@Chreys

Das Bild wird dynamisch in HTML angefordert. Bspw. in PHP oder per AJAX nachgeladen und der Pfad angegeben, so dass der Client eine Anfrage macht, wo das Bild (der Pfad für das Bild) angegeben ist

1