Question

Quelqu'un peut-il me donner quelques conseils sur la façon d'enregistrer un fichier d'image dans DB en C #? Je vais économiser beaucoup d'images alors quelle est la meilleure façon de réduire l'espace il aura besoin? J'utilise actuellement varbinary champ (max) dans DB.

Merci!

Était-ce utile?

La solution

Si vous devez enregistrer le fichier réel dans SQL alors assurez-vous de mettre des restrictions autour de la taille de l'image et assurez-vous de planifier correctement la taille de base de données - combien d'images et de quelle taille vous attendez

Si vous devez stocker dans SQL mes préférences est d'avoir automatiquement assis dans sa propre base de données SQL. De cette façon, les problèmes de performance que je rencontrerai des ces images ne touche pas le reste de ma base de données.

, si vous ne disposez pas de stocker les images dans une base de données SQL, alors je pense que cela est tout simplement appeler à être fait avec Azure Blob Storage. Allez jeter un coup d'oeil -. Il vous donnera ce que vous voulez dans un système très efficace

Si vous ne pouvez pas utiliser Azure alors vous devriez mettre en place une classe qui va gérer la lecture / écriture / recherche d'images à un système de fichiers. Enregistrement dans le système de fichiers (fait correctement) fonctionne beaucoup mieux que sauver SQL.

Autres conseils

Ce serait bien. Cependant, si ces images sont si grands et votre DBA peut-être pas comme Oyu plus pour les mettre là-dedans, vous pouvez les placer sur un endroit d'entraînement et de stocker l'emplacement dans le DB.

Je suppose qu'il ya plusieurs façons que vous pouvez gérer cela. Il suffit de peser vos avantages et les inconvénients.

Je viens de vous donner une alternative.

Pas une bonne idée de stocker des images dans la base de données. Vous pouvez stocker les urls aux images.

Quel est le format de l'image et ce que la technologie base de données utilisez-vous?

Une option consiste à convertir les images à un tableau binaire et pousser ceci à votre base de données. J'ai trouvé un peu de code agréable sur la façon d'y arriver plus à CodeProject:

http://www.codeproject.com/KB/aspnet/ImageInDatabase.aspx

Comme Magnus, FileStreams ne sont pas stockés dans les pages d'un DB, il ne modifie pas la performance.

Bien que, le stockage de fichiers dans le DB signifie que vos sauvegardes de DB deviendront beaucoup plus grande.

Quelqu'un d'autre a mentionné stocker seulement les URL. Ceci est aussi une excellente idée et probablement le plus par formants pour une configuration simple.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top