Schreiben byte-array in MySQL-Datenbank aus Java-als Bild oder Datei
Ich soll das speichern von Dateien auf meiner MySQL-Datenbank.
- Könnte ich den byte-array aus der Datei und speichern in der Datenbank? Oder gibt es eine andere Möglichkeit, eine Datei zu speichern derectly in eine MySQL-Datenbank?
- Welchen Feldtyp soll ich verwenden zum speichern eines byte-array in mysql und geben Sie mir bitte ein Beispiel-Abfrage, wie das einfügen eines byte-array
Können Sie direkt speichern Sie die Datei auf Datenbank mit BLOB/CLOB-Typ der Spalten
stackoverflow.com/questions/9476434/...
stackoverflow.com/questions/9476434/...
InformationsquelleAutor MinecraftShamrock | 2013-07-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
1) ja. Lesen Sie die Datei in einen
byte[]
mit FileInputStream.read(byte[]). Da ein Bild bestehen aus binären Daten, verwenden Sie einebyte[]
(und kein String).2) Das Feld in Ihrer Datenbank sollte ein
blob
, die perfekt für einebyte[]
. Sie können fügen Sie es mithilfe einesPreparedStatement
:InformationsquelleAutor f1sh
Ich denke, Sie sind auf der Suche für die (Binary Large ObjectBLOB). Dies sollte Ihnen ermöglichen, zu sparen, einen Strom von bytes zu Ihrer Datenbank. Diese Beispiel sollten Sie auf die richtige Richtung, wenn es um die Verwendung von BLOBs mit MySQL und Java.
Dass gesagt wird, die Menschen in der Regel nicht empfehlenswert, ganze Dateien zu Ihrer Datenbank, was es ist in der Regel empfohlen, zum speichern der Datei in Ihrem Dateisystem und speichern nur die URI in der Datenbank. Sie können überprüfen, diese vorherigen Post SO zu sehen, wenn Sie sollten die Verwendung des BLOB.
InformationsquelleAutor npinti
Können Sie
varbinary
Datentyp in MySQL für diese. Es passt zu dem Typbyte[]
in Java.InformationsquelleAutor Mark M