Maison  >  Article  >  base de données  >  Comment récupérer et stocker des images BLOB de MySQL en mémoire avec Java ?

Comment récupérer et stocker des images BLOB de MySQL en mémoire avec Java ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-10 15:51:02651parcourir

How to Retrieve and Store BLOB Images from MySQL in Memory with Java?

JDBC : récupérer des images BLOB à partir de MySQL et les stocker en mémoire

Les champs BLOB de base de données stockent des données binaires, y compris des images. Cet article explique comment récupérer et conserver en mémoire une image stockée sous forme de BLOB dans une base de données MySQL à l'aide de Java, évitant ainsi d'avoir à l'enregistrer sur le disque.

Récupération de BLOB JDBC

Pour récupérer l'image BLOB, utilisez la méthode getBlob() sur l'objet ResultSet, en spécifiant l'index de colonne du champ BLOB. Cela renvoie un objet Blob représentant les données de l'image.

Blob imageBlob = resultSet.getBlob(yourBlobColumnIndex);

Accès aux données de l'image

L'objet Blob fournit des méthodes pour accéder aux données de l'image. Les options de code suivantes sont disponibles :

  • getBinaryStream() : Renvoie un InputStream au flux de données binaires de l'image.

    InputStream binaryStream = imageBlob.getBinaryStream(0, imageBlob.length());
  • getBytes() : Renvoie un tableau d'octets représentant l'image.

    byte[] imageBytes = imageBlob.getBytes(1, (int) imageBlob.length());

Notez que vous pouvez également utiliser getBinaryStream() méthode à partir de l'objet ResultSet directement pour accéder aux données d'image sous forme de flux.

InputStream binaryStream = resultSet.getBinaryStream(yourBlobColumnIndex);

Stockage de l'image en mémoire

Les données d'image sont désormais accessibles sous forme de flux ou tableau d'octets, qui peut être traité ou stocké en mémoire. Le code spécifique pour cette étape dépend de vos besoins et de l'utilisation ultérieure de l'image.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn