ASP.NET C# - Bild von queryString abrufen und auf Server als .ICO speichern
-
27-10-2019 - |
Frage
Ich bin Neuling in ASP.NET, also brauche ich Hilfe, um dies zu lösen.
Grundsätzlich ist die Idee:
- Nehmen Sie Bild von QueryString ab, zum Beispiel: /default.aspx?src=http://www.google.hr/images/logo.png
- Konvertieren Sie es und ändern
- Speichern Sie es auf Server und drucken Sie/echo -URL in ICO aus
Verwenden Sie ASP.NET 3.5 C# Dies ist mein Versuch:
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();
}
}
}
}
}
BEARBEITEN:
Erhalten Sie einige Fehler (Fehler 1 Die beste überlastete Methode überstanden für 'System.Drawing.image.fromFile (String)' einige ungültige Argumente)
Vielen Dank
Lösung
Versuche dies:
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();
}
oder wenn Sie keine Konvertierung benötigen:
WebClient webclient = new WebClient();
webclient.DownloadFile(source, "/test1.ico");
Andere Tipps
System.Drawing.Image.FromFile()
erwartet eine Schnur, Sie passieren sie a WebClient
.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow