307 messaggi dal 11 maggio 2006
A generic error occurred in GDI+.....

questo è il codice:

string immagine = string.Empty;
string filePath = Request.PhysicalApplicationPath;

filePath += "public/galleria/FotoSchedaPrincipale/";
if (FileUpload1.HasFile)
{
immagine = FileUpload1.FileName;
filePath += immagine;
FileUpload1.SaveAs(filePath);

System.Drawing.Image imgNew;
IntPtr inp = new IntPtr();
System.Drawing.Bitmap bmp= (System.Drawing.Bitmap)System.Drawing.Image.FromFile(filePath);
imgNew = bmp.GetThumbnailImage(100, 62, null, inp);
imgNew.Save(filePath, System.Drawing.Imaging.ImageFormat.Jpeg);

qualcuno mi può aiutare?

ciao
Modificato da vehuel il 22 dicembre 2007 10.57 -
a che riga del codice viene lanciata l'eccezione? in che formato è l'immagine salvata utilizzata?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
1 messaggio dal 17 ottobre 2008
Sono appena iscritto al sito...
Ho appena finito il mio sito e anche a me da quest' eccezzione:

A generic error occurred in GDI+.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Runtime.InteropServices.ExternalException: A generic error occurred in GDI+.

Source Error:


Line 146: f.Dispose();
Line 147: pennello.Dispose();
Line 148: imm.Save(percorso2, System.Drawing.Imaging.ImageFormat.Jpeg);
Line 149: imm.Dispose();
Line 150: //se il numero di elementi è maggiore di 10 salvo la x in una session chiamata z


Source File: d:\inetpub\webs\wpusitecom\concertiNuovi.aspx.cs Line: 148

Stack Trace:


[ExternalException (0x80004005): A generic error occurred in GDI+.]
System.Drawing.Image.Save(String filename, ImageCodecInfo encoder, EncoderParameters encoderParams) +387246
System.Drawing.Image.Save(String filename, ImageFormat format) +69
concertiNuovi.Page_Load(Object sender, EventArgs e) in d:\inetpub\webs\wpusitecom\concertiNuovi.aspx.cs:148
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +34
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061

In locale però non lo trova questo errore,
sapresti darmi una soluzione????
grazie

hisoka90
Non so come mai non te lo dia in locale, in ogni modo IMHO il problema è causato dal fatto che Image.FromFile che usi per caricare l'immagine non rilascia il file fintanto che non effettui il Dispose della image stessa. Pertanto la successiva Save va in errore (il classico "Il file è utilizzato da un altro processo"). Ne avevo parlato qualche anno fa sul mio vecchio blog...

Come fare? Ad esempio così:
Image myImage;
using (Image img = Image.FromFile("filename.jpg")
{
    myImage = new Bitmap(img);
}


Let me know if it helps

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.