Méthode de stockage MySQL pour lire les images : convertissez d'abord l'image en flux tampon ; puis obtenez le tableau d'octets de l'image et effectuez les opérations associées ; enfin, transmettez "public void MapSearchQuery(out byte[] imageByteResulet){. . .}" il suffit de lire l'image.
Recommandé : "Tutoriel vidéo MySQL"
Tout d'abord, présentons les données liées à MySQL tapez : Il existe quatre types de BLOB dans MySQL, TinyBlob (maximum 255 octets), Blob (maximum 65 Ko), MediunBlob (16 M), LongBlob (maximum 4G). Veuillez noter ici que si les mots associés Données trop longues... apparaissent dans votre base de données, il se peut que la taille du type que vous avez sélectionné ne soit pas suffisante.
Ensuite, permettez-moi d'expliquer brièvement pourquoi je n'ai pas utilisé la méthode de stockage du chemin de l'image, mais j'ai adopté la méthode de stockage de l'image directement dans MySQL. Il y a deux raisons :
1. Elle ne nécessite pas un grand nombre d'images, une base de données n'a besoin que d'une seule image
2. Le La structure du logiciel est via WebService, un client principal accède à plusieurs clients affiliés ci-dessous. Si le client affilié ne stocke pas d'images pour un accès direct par le client principal, alors le client principal aura inévitablement besoin d'une fonction pour charger les images (similaire à la fonction FTP). ).
Passons directement au code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
|
C'est le code d'opération pour insérer l'image dans la base de données. Le chemin est le stockage. dont vous avez besoin. Le chemin où se trouve l'image (y compris le nom et le suffixe de l'image). De plus, j'utilise la méthode de connexion ADO.NET et le langage est C#. Je n'ai pas besoin d'expliquer d'autres codes...
Ce qui suit est le code pour lire l'image dans MySQL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
|
Bien sûr, ici je veillez à ce que l'objet Image ne puisse pas. Grâce à la transmission WebService, les données BLOB sont uniquement converties en octet[] pour la transmission. Si vous n'avez pas besoin de cette fonction, vous pouvez directement extraire le code correspondant et convertir l'octet[] en un objet image. . Deux méthodes sont fournies ci-dessous
Premier type : imageByte est la donnée de byte[] obtenue en appelant la fonction ci-dessus .
1 2 3 4 5 6 |
|
De cette façon, l'image est lue et affichée
Deuxième type : BitMap est
1 2 3 4 5 6 |
|
dans l'espace de noms System.Drawingm. Eh bien, j'ai terminé ici. Bien sûr, vous n'avez pas besoin de sauvegarder l'image dans la base de données. Vous pouvez créer un mappage d'URL et renvoyer le flux de fichiers (je n'ai pas encore essayé). . Je partagerai mon expérience avec tout le monde dès que j'en aurai le temps).
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!