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

[asp.net] Générer une miniature

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
Sylvain Lafontaine
Vous devez inclure dans l'appel à la fonction MapPath uniquement le nom du
fichier:

.. = Request.MapPath("GenererVignette.aspx") &
"?file=Collines.jpg&hauteur0";

Selon le cas, vous devez aussi encoder ou non les caractères spéciaux tel
que "&" lorsque vous écrivez tout ça dans la page HTML ou dans un
Javascript.

S. L.

"Steeve" wrote in message
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;
}