Comment lier un MemoryStream à asp: image control?
Est-il un moyen de lier un MemoryStream à l'asp:contrôle de l'image?
source d'informationauteur Ali Ersöz
Vous devez vous connecter pour publier un commentaire.
Est-il un moyen de lier un MemoryStream à l'asp:contrôle de l'image?
source d'informationauteur Ali Ersöz
Vous devez vous connecter pour publier un commentaire.
Un gestionnaire peut accepter un paramètre de l'url, comme de toute autre demande. Ainsi, au lieu de lier votre
<asp:image/>
àimage.ashx
vous devez mettre la valeurimage.ashx?ImageID=[Your image ID here]
.Meilleur pari est de créer un HttpHandler qui retourne l'image. Puis de lier la propriété ImageUrl sur l'asp:Image à l'url de la HttpHandler.
Voici un peu de code.
D'abord créer le HttpHandler:
Ensuite, il suffit de l'appeler à l'intérieur de votre page aspx où vous êtes à l'aide de l'asp:Image.
Et c'est tout.
Je suis en supposant que vous avez besoin pour générer des images dynamiques de asp.net
Vous pouvez être de la chance
http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=16449
Hanselman blogué à ce sujet récemment
http://www.hanselman.com/blog/ASPNETFuturesGeneratingDynamicImagesWithHttpHandlersGetsEasier.aspx
@Will et Ben Griswald: au lieu de "l'image.aspx '" utilisation "de l'image.ashx".
Il est plus léger qu'un ASP.Net Page, et il est spécifiquement conçu pour gérer les types de contenu autre que texte/html.
Tandis que la liaison de données un MemoryStream d'une Image n'est pas possible, il pourrait être possible d'utiliser une Étiquette/GenericControl, certains le Code et le les données de schéma d'URI pour intégrer des Images dans les Pages, mais il y a de graves problèmes avec cette approche: les
La meilleure Approche est d'utiliser une Image.aspx" à la Page qui les prend et les sorties de votre MemoryStream, un peu comme j'ai fait dans mon Album Photo logiciel que j'ai créé quand j'ai commencé à apprendre ASP.net:
(Ne riez pas, c'était ma première tentative ASP.net 🙂
Edit: d'Accord sur ASHX, le code ci-dessus est juste pour montrer un exemple de mise en œuvre. Quand je viens autour de la mise à jour de l'Album Photo, il va utiliser ASHX.
Vous pouvez utiliser Telerik est BinaryImage de contrôle pour ASP.net.
Plus d'infos ici:
http://www.telerik.com/products/aspnet-ajax/binaryimage.aspx
Nope.
Mais vous pouvez créer une page spéciale pour diffuser cette image. Tout d'abord, vous définissez l'URL de l'image à la page qui effectue la diffusion en continu, y compris certains des paramètres d'url qui vous permettent de savoir où obtenir de l'image:
dans GetImage.aspx, vous obtenez le nom de fichier (ou autre) à partir de l'URL, charger l'image dans votre MemoryStream, et puis écrire le contenu de cette mémoire stream directement à la HttpResponse:
Pour moi, il était nécessaire d'ajouter un "buffer="false" à la Page@. Sinon, je reçois la même image tout le temps...