Traitement d'images avec asp.net

Signaler
Messages postés
52
Date d'inscription
jeudi 1 janvier 2004
Statut
Membre
Dernière intervention
22 juillet 2008
-
Messages postés
52
Date d'inscription
jeudi 1 janvier 2004
Statut
Membre
Dernière intervention
22 juillet 2008
-
[size= 6] SAM =6

Bonjour à tous.

Mon problème est le suivant, je voudrais transformer un peu une image venant d'un upload en ajoutant quelque chose dedans et sauvegarder cette image.

Voici donc le bout de code pour mieux comprendre :


// Upload de l'image
string photo = "";
if (F_photo.PostedFile != null)
{
photo = Path.GetFileName(F_photo.PostedFile.FileName);


if (photo!="")
{
string path = Server.MapPath("./photos/"+photo);

// enregistrement du fichier sur le serveur
FileStream fichier = new FileStream(path,FileMode.Create,FileAccess.Write);
Stream infile = F_photo.PostedFile.InputStream;
byte[] b = new byte[500];
int nbcar = 0;

while ((nbcar = infile.Read(b,0,500))!=0)
{
fichier.Write(b,0,nbcar);
}
fichier.Close();
infile.Close();

// réccup de l'image pour la travailler
System.Drawing.Image image = System.Drawing.Image.FromFile(path);
// cast en Bitmap pour accéder aux pixels
System.Drawing.Bitmap bitmap = (System.Drawing.Bitmap)image;

// le problème est ici, impossible de sauver
// l'erreur : A generic error occurred in GDI+.

--> bitmap.Save(path,System.Drawing.Imaging.ImageFormat.Jpeg);
// idem si on sauve à partir de l'image au lieu du bitmap
--> image.Save(path);
}
}

Merci pour toute l'aide que vous voudrez bien m'apporter.

2 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Bonjour,

vérifie que l'user aspnet ou IUSR_<machinename> possede les droits d'ecriture dans le chemin que t'essaye de lui donner


<HR>
Cyril - MVS - MCP
Messages postés
52
Date d'inscription
jeudi 1 janvier 2004
Statut
Membre
Dernière intervention
22 juillet 2008

[size= 6] SAM =6

Il y a les droits en écriture pour aspnet mais ça fait quand même l'exception "A generic error occurred in GDI+"

Je vais essayer en mettant aussi les droits pour IUSR_<machinename>