Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Bogue avec une image(vignette)

1 réponse
Avatar
Steeve
Bonjour,

Je reçois le message suivant quand j'essai d'exécuter la page default.aspx:
"Illegal characters in path. " J'essaie par cette page web de générer une
vignette automatiquement.

Pouvez-vous m'aider à trouver la manière de corriger ce bogue ? Merci
Steeve

-----
Voici le code de la page default.aspx

private void Page_Load(object sender, System.EventArgs e)
{
Image1.ImageUrl =
Request.MapPath("GenererVignette.aspx?file=Collines.jpg&hauteur=120");
}

------

Et voici celui de ma page GerenerVignette.aspx
private void Page_Load(object sender, System.EventArgs e)
{
System.Drawing.Image.GetThumbnailImageAbort myCallback =
new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
string imageUrl = Server.MapPath("photos/" + Request.QueryString["file"]);
System.Drawing.Image image = System.Drawing.Image.FromFile(imageUrl);
int hauteur = Convert.ToInt32(Request.QueryString["hauteur"]);
decimal decRatio = Convert.ToDecimal(image.Width / image.Height);
int largeur = Convert.ToInt32(decRatio * hauteur);
System.Drawing.Image thumbNail = image.GetThumbnailImage(largeur, hauteur,
myCallback, IntPtr.Zero);
Response.ContentType = "image/jpeg";
thumbNail.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);
image.Dispose();
thumbNail.Dispose();
}
private bool ThumbnailCallback()
{
return false;
}

1 réponse

Avatar
Sebastien Bovo [MS]
Bonjour,

Cette erreur est normale. Tu peux utiliser MapPath suelement avec le nom
d'un fichier sans les paramatres de l'url.
En effet, MapPath renvoit le chemin absolue : c'est à dire
"C:inetpubwwwrootMonappmonfichier.aspx". Les paramatres de l'url n'ont
pas de sens dans ce cas la.

Dans ton exemple, il suffit que tu utilises:

Image1.ImageUrl = "GenererVignette.aspx?file=Collines.jpg&hauteur0";

Si GenererVignette.aspx est dans le même repertoire que ta page.

--
Cordialement,

Sebastien Bovo
Microsoft France
----------
Ce message est fourni en l'état, sans garantie d'aucune sorte, et ne vous
confère aucun droit. Vous assumez tous les risques liés à son utilisation.




"Steeve" a écrit dans le message de news:

Bonjour,

Je reçois le message suivant quand j'essai d'exécuter la page
default.aspx:
"Illegal characters in path. " J'essaie par cette page web de générer une
vignette automatiquement.

Pouvez-vous m'aider à trouver la manière de corriger ce bogue ? Merci
Steeve

-----
Voici le code de la page default.aspx

private void Page_Load(object sender, System.EventArgs e)
{
Image1.ImageUrl =
Request.MapPath("GenererVignette.aspx?file=Collines.jpg&hauteur0");
}

------

Et voici celui de ma page GerenerVignette.aspx
private void Page_Load(object sender, System.EventArgs e)
{
System.Drawing.Image.GetThumbnailImageAbort myCallback > new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
string imageUrl = Server.MapPath("photos/" + Request.QueryString["file"]);
System.Drawing.Image image = System.Drawing.Image.FromFile(imageUrl);
int hauteur = Convert.ToInt32(Request.QueryString["hauteur"]);
decimal decRatio = Convert.ToDecimal(image.Width / image.Height);
int largeur = Convert.ToInt32(decRatio * hauteur);
System.Drawing.Image thumbNail = image.GetThumbnailImage(largeur, hauteur,
myCallback, IntPtr.Zero);
Response.ContentType = "image/jpeg";
thumbNail.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);
image.Dispose();
thumbNail.Dispose();
}
private bool ThumbnailCallback()
{
return false;
}