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;
GFU-Schulungen  [Anzeige]

ASP.NET Core - Der Einstieg

In nur 3 Tagen lernen Sie, wie man mit ASP.NET Core und den Technologien MVC, Entity Framework, WebAPI und Razor professionelle Web-Anwendungs-Architekturen aufbaut. Diese Schulung ist der perfekte Einstieg, um datengetriebene und präsentations-orientierte Applikationen auf Basis der ASP.NET Core Plattform zu erstellen.

C# Aufbaukurs

Sie haben grundlegende .NET- und C#-Kenntnisse und und wollen diese nun erweitern. Der Aufbaukurs C# führt Sie ein die Arbeit mit Interfaces und Delegates, Generics und Parallel Computing.

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!