Я пытаюсь прочитать URL-запрос, отправленный через браузер на мой сервер.Таким образом, в основном, если я наберу http://localhost:8080/geoserver/ в качестве моего URL, сервер ответит и отправит картинку, которая будет отображаться правильно.Теперь я пытаюсь получить URL-адрес в строку, поэтому, если, например, я наберу http://localhost:8080/geoserver/1234, я смогу получить 1234 из строки URL-адреса, а затем изменить размер, повернуть, .. мое изображение на основе ввода и отображенияЭто.Я пробовал с string my_url = listen.GetContext().toString();
, но я не получаю введенный мной URL.
Мой код:
static void Main(string[] args)
{
HttpListener listen = new HttpListener();
string url = "http://localhost";
string port = "";
Console.Write("Nastavite port:");
port = Console.ReadLine();
url = url + ":" + port + "/geoserver/";
listen.Prefixes.Add(url);
try
{
listen.Start();
}
catch(Exception e)
{
Console.WriteLine("Ta port je zaseden");
Console.ReadKey();
Environment.Exit(0);
}
while (true)
{
Console.WriteLine("Cakam...");
HttpListenerContext kontekst = listen.GetContext();
string msg = "hello world";
// kontekst.Response.ContentLength64 = Encoding.UTF8.GetByteCount(msg);
kontekst.Response.StatusCode = (int)HttpStatusCode.OK;
using (Stream stream = kontekst.Response.OutputStream)
using (Image image = Image.FromFile("jpg.png"))
using (MemoryStream ms = new MemoryStream())
using (StreamWriter writer = new StreamWriter(stream))
{
image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
string base64 = Convert.ToBase64String(ms.ToArray());
writer.WriteLine($"<html><img src=\"data: image / png; base64, {base64} \"></html>");
}
Console.WriteLine("Sporočilo poslano");
}
}