Lors de la sortie d'une image sur le flux de sortie, celle-ci nécessite-t-elle un stockage temporaire ? J'obtiens l'erreur "GDI+ générique" qui est généralement associée à une erreur de permission de dossier lorsque je sauvegarde une image dans un fichier.
La seule chose que je fais à l'image est d'ajouter du texte. J'obtiens toujours l'erreur même lorsque j'édite l'image directement sans modifications. Par exemple, en faisant ceci, j'obtiens l'erreur :
using (Bitmap image = new Bitmap(context.Server.MapPath("images/stars_5.png")))
{
image.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Png);
}
Tout fonctionne bien sur ma machine locale sous Windows 7 avec IIS 7.5 et ASP.NET 2.0. Le problème se produit sur le serveur d'assurance qualité qui fonctionne sous Windows Server 2003 avec IIS 6 et ASP.NET 2.0.
La ligne qui donne l'erreur est :
image.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Png);
Voici la trace de la pile :
[ExternalException (0x80004005): A generic error occurred in GDI+.]
System.Drawing.Image.Save(Stream stream, ImageCodecInfo encoder, EncoderParameters encoderParams) +378002
System.Drawing.Image.Save(Stream stream, ImageFormat format) +36
GetRating.ProcessRequest(HttpContext context) in d:\inetpub\wwwroot\SymInfoQA\Apps\tools\Rating\GetRating.ashx:54
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75