Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Quelle est la meilleure façon d'afficher une image à partir d'une base de données de serveur sql dans asp.net ?

Deux possibilités :

Créer un fichier temporaire - Le problème avec cette approche est que vous devez créer le fichier, ce qui signifie que votre site Web doit avoir un accès en écriture à un répertoire, ce qui n'est pas une bonne chose. Vous devez également avoir un moyen de nettoyer les images.

Servez-le à partir d'une autre URL - C'est ma méthode préférée, car vous n'avez pas besoin d'accéder au disque. Un simple gestionnaire http (ashx) est une excellente méthode pour servir l'image.

Modifier

Si vous avez besoin de l'état de la session dans ashx, consultez :Asp.net System.Web.HttpContext.Current.Session null in global.asax.

Modifier

Quelques pensées supplémentaires. Il y a des cas où l'utilisation d'un fichier temporaire peut être préférable. Par exemple, si vos images sont fréquemment demandées par de nombreux utilisateurs. Ensuite, stocker les images sur le disque aurait du sens, puisque vous pourriez écrire le fichier une fois, cela augmente la complexité de la maintenance, mais en fonction du trafic, cela pourrait en valoir la peine, car cela vous éviterait de rappeler la pile .net et de tirer parti d'IIS. mise en cache du contenu statique.