ASP.NET C # - obtenir une image de QueryString et enregistrez-serveur comme Ico
-
27-10-2019 - |
Question
Je suis novice en asp.net donc je besoin d'aide comment résoudre ce problème.
Fondamentalement idée est:
- obtenir une image de QueryString, par exemple: /Default.aspx?src=http://www.google.hr/images/logo.png
- convertir et redimensionner à 16x16 px "Ico" IE compilant
- enregistrer au serveur, et imprimer / écho URL à ico
Utilisation de ASP.NET 3.5 C # Ceci est mon essai:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
using System.IO;
using System.Net;
namespace WebApplication2
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var source = Request.QueryString["src"];
if (source != null)
{
WebClient webclient = new WebClient();
using (Stream stream = webclient.OpenRead(source))
{
Bitmap iconbitmap = new Bitmap(System.Drawing.Image.FromFile(webclient));
var icon = Icon.FromHandle((iconbitmap).GetHicon());
FileStream fs = new FileStream("/test1.ico", FileMode.Create);
icon.Save(fs);
fs.Close();
}
}
}
}
}
EDIT:
Vous avez des erreurs (Error 1 La meilleure correspondance de méthode surchargée pour 'System.Drawing.Image.FromFile (string)' a des arguments non valides)
Merci
La solution
Essayez ceci:
WebClient webclient = new WebClient();
using (Stream stream = webclient.OpenRead(source))
{
Bitmap iconbitmap = new Bitmap(System.Drawing.Image.FromStream(stream));
var icon = Icon.FromHandle((iconbitmap).GetHicon());
FileStream fs = new FileStream("/test1.ico", FileMode.Create);
icon.Save(fs);
fs.Close();
}
ou si vous n'avez pas besoin de conversion:
WebClient webclient = new WebClient();
webclient.DownloadFile(source, "/test1.ico");
Autres conseils
System.Drawing.Image.FromFile()
attend une chaîne, vous passez un WebClient
.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow