2010-01-16 3 views
0

J'ai une colonne blob dans ma table. Comment est-ce que j'insère une image dedans et comment puis-je la récupérer sur la boîte d'image sur un formulaire de fenêtres? J'utilise Visual Studio IDE et VB.Net est le langageImages dans MySQL

+1

Je ne pense pas que votre question puisse être résolue sans au moins un indice sur la plate-forme/technologie/langage de programmation que vous utilisez. –

Répondre

6

Je vous recommande de ne pas le faire. Stockez-le comme un fichier sur le système de fichiers et placez le nom de fichier dans la base de données à la place.

+0

Pour l'édification de moi-même et des autres, pourquoi stocker l'image comme un blog dans la DB est une mauvaise idée? Est-ce juste un problème MySQL? –

+0

Il existe des moteurs de bases de données qui gèrent des BLObs de grande taille d'une manière qui ne nuit pas aux performances, mais MySQL n'en fait pas partie. –

0
  1. Il est probablement préférable de stocker vos images dans le système de fichiers plutôt que dans la base de données.
  2. mais si vous voulez stocker dans DB, vous pouvez simplement écrire les données d'image dans une chaîne, puis les récupérer en tant que chaîne, définir un en-tête en fonction du type d'image et le vider dans le navigateur. (Je l'ai fait en utilisant php et ça a marché)
+0

J'espère que je devrais stocker mes images dans le système de fichiers. merci Meosoft – Albert

2

Si l'image se trouve sur votre hôte du serveur MySQL, vous pouvez utiliser la commande LOAD_FILE():

INSERT INTO my_table (image_col) VALUES(LOAD_FILE('/tmp/my_image.png')); 

Assurez-vous que le fichier est lisible par MySQL , et assurez-vous également que votre utilisateur MySQL a le privilège FILE.

Pour accorder le privilège FILE, connectez-vous en tant que root et exécuter:

GRANT FILE ON *.* TO 'mysql_user'@'localhost'; 

En général, je recommande également de stocker l'image du système de fichiers, et juste garder le chemin dans MySQL. Cependant, il y a des cas où cela est utile.

+0

Merci pour votre aide Daniel. Actuellement, je stocke le chemin vers l'image, mais je veux être en mesure de déplacer la base de données et l'application vers un autre ordinateur sans se soucier du chemin vers les images. – Albert