2015-03-10 2 views

Répondre

0

Vous êtes en mesure de stocker des images dans une base de données mysql en utilisant des types de données tels que

LONGBLOB
img LONGBLOB not null 

Pour ce faire, en Java que vous voulez faire quelque chose comme ce qui suit pour obtenir la chaîne d'octets de l'image:

File image = new File(imageName); 
BufferedImage bufferedImage = ImageIO.read(image); 

WritableRaster writableRaster = bufferedImage.getRaster(); 
DataBufferByte dataBufferByte = (DataBufferByte) raster.getDataBuffer(); 

Vous pouvez ensuite l'ajouter à votre base de données à l'aide de JDBC.

REMARQUE: Bien que je vous ai donné la réponse sur la façon de procéder, je ne recommanderais pas de l'implémenter de cette manière car c'est une mauvaise pratique. Les images peuvent devenir très volumineuses et vous pourriez trouver votre db se remplir très rapidement. Au lieu de cela, une solution plus efficace consisterait à stocker les images dans des répertoires à côté de votre code et à stocker les chemins d'accès aux images dans la base de données sous la forme de chaînes de texte simples.

+0

-Il n'y a rien de comparable à 'raster' dans netbeans. mais j'ai trouvé 'Raster'. Même si j'obtiens une erreur, elle dit: "la méthode non statique getDataBuffer() ne peut pas être référencée à partir d'un contexte statique". – user271865