web-dev-qa-db-fra.com

Conversion d'image en données: image / png; base64 pour l'affichage de la page Web

Si l'on visite page de démonstration jQuery-File-Upload et essaiera de télécharger une image, puis examinera la réponse JSON, il remarquera qu'un aperçu d'une image téléchargée est retourné dans un format:

"thumbnail_url":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAI...

Autant que je sache, une image est transformée en chaîne et renvoyée au client.

Comment puis-je le faire en C # pour impulser le backend ASP.NET pour la même démo?

23
Maxim V. Pavlov

Je me souviens avoir lu une réponse à une question il y a quelque temps par la compétence_tech très compétente et avoir pensé "Je ne savais pas que vous pouviez faire ça!"

Dans cette réponse est un exemple sur la façon de définir le src d'une image ASP.Net pour être les données encodées en base64 que vous voyez ci-dessus.

Cela revient en fait à définir le src d'un contrôle ASP: Image comme suit:

imgCtrl.Src = @"data:image/gif;base64," + Convert.ToBase64String(File.ReadAllBytes(Server.MapPath(@"/images/your_image.gif")));

N'oubliez pas de changer le type de contenu en fonction de l'image!

37
dash