Feedback

C# - PNG in Response.OutputStream schreiben

Veröffentlicht von am 04.08.2013
(0 Bewertungen)
Wenn man in ASP.NET ein Image-Objekt in den Ausgabestream schreiben möchte, kann es zu einer Exception mit der Beschreibung "A generic error occurred in GDI+" kommen. Dies kann daran liegen, das einem die Schreibberechtigung für den jeweiligen Ordner fehlen, wobei man meinen sollte das es nichts mit dem Dateisystem zu tun hat.

Ein Workaround besteht darin, das Bild in einen MemoryStream und dann erst in Response zu schreiben.

Folgende Namespaces werden benötigt:
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
Snippet in VB übersetzen
Image img = null;//Bild laden o.ä. ...
img.Save(Response.OutputStream, ImageFormat.Png);//Geht hier nicht

//Nachfolgender Code geht
using (MemoryStream ms = new MemoryStream())
{
	img.Save(ms, ImageFormat.Png);
	ms.WriteTo(this.Response.OutputStream);
}
Abgelegt unter Response, ASP.NET, PNG, Image, Stream, MemoryStream, Write, Image.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!