Comment puis-je stocker et récupérer une image dans une base de données MySQL à l'aide de VB.NET 2005?Stockage d'une image dans MySQL
Répondre
- Lit dans une variable de chaîne.
- Stockez-le dans un champ BLOB.
- Ne stockez pas de données d'image dans la base de données , mieux vaut simplement stocker un nom de fichier unique qui pointe vers le fichier image réel, qui aidera à réduire la DB et vous éviter d'avoir à récupérer des enregistrements volumineux.
Utilisez le type de champ BLOB et écrivez-le comme d'habitude. N'oubliez pas de stocker le type d'image, il est nécessaire d'avoir quand vous voulez montrer vos images.
Cela dépend de l'image tailles
Si elles sont grandes (plus d'un meg environ) et vous avez beaucoup d'entre eux ou un montant ouvert d'entre eux - alors il pourrait être préférable de stocker sur le système de fichiers et juste stocker l'emplacement dans la base de données.
Plus:
- meilleures caractéristiques de croissance DB
- plus facile à faire incrémentales des sauvegardes
- plus facile d'avoir un stockage hiérarchisé (stockage rapide cher pour des images très utilisées, le stockage lent pour ne pas si souvent utilisé les)
- possible d'avoir un accès aléatoire à une partie du fichier (ne pas besoin de lire tout ça)
Moins:
- difficile à faire des transactions
- lieu distinct qui doit être géré
- contrôles d'accès distincts qui doivent être gérés
- blobs sont plus faciles à programmer
Si la les images sont dans la gamme de quelques k, et vous avez un nombre limité d'entre eux, puis utilisez un MemoryStream (enregistrez-le comme avec n'importe quel flux) et transférez les octets dans un champ blob.
SQL Server vous donne le meilleur des deux mondes avec leur type de champ de système de fichiers (extériorise le blob dans un fichier, mais est par ailleurs traitée comme un blob)
Il est également agréable de stocker des informations supplémentaires sur l'image d'autres champs - de sorte que vous n'avez pas besoin de lire le blob de l'image pour faire certaines choses avec.Par exemple:
- La taille
- Le type
- Si multipages (comme TIFF), le nombre de pages
j'ai écrit sur certaines des considérations d'images dans un DB sur mon blog:
- 1. Stockage de très grands entiers dans MySQL
- 2. Stockage d'une image bitmap en XAML
- 3. Infinity, ActiveRecord et MySQL: stockage et comparaison
- 4. MySQL Bit Data Type Espace de stockage
- 5. Stockage des emplacements d'images avec MySQL et PHP
- 6. Avantages et inconvénients du moteur de stockage d'archives MySQL?
- 7. PHP MySql Stockage des données pendant 24 heures
- 8. Stockage panier dans la session
- 9. Le stockage d'état dans GridView
- 10. Stockage temporaire dans l'extension FireFox
- 11. Stockage de photos Quandry
- 12. Problème de stockage de plus de 64 000 dans la colonne mysql mediumtext
- 13. Echec du stockage des données dans la table MySql via Javamail
- 14. cadres multiplateformes pour le stockage + métadonnées?
- 15. Stockage des informations EXIF dans la base de données
- 16. Trouver une Image dans une Image
- 17. Trouver une image dans une image C#
- 18. Accéder à une image dans une image
- 19. Communication inter-image dans Smalltalk. Possible?
- 20. Noms personnels dans une application globale: Stockage
- 21. Stockage des résultats dans un problème d'enregistrement
- 22. Stockage de plusieurs valeurs dans les cookies
- 23. Stockage de plusieurs modifications dans Entity Framework
- 24. Stockage d'un objet SqlDataReader dans C#/ASP.NET?
- 25. Javascript stockage regex dans une variable
- 26. Stockage de hachage MD5 dans SQL Server
- 27. Stockage MSMQ dans la base de données
- 28. Stockage de MemoryStream dans le cache
- 29. Stockage des classes personnalisées dans Objective-C
- 30. Stockage de XML dans Active Directory