【问题标题】:Image does not show in browser using Web Server in c#在 c# 中使用 Web 服务器的浏览器中不显示图像
【发布时间】:2023-04-03 05:35:01
【问题描述】:

对于以下代码,如果我请求一个包含图像的 html 页面,我在浏览器中看不到该图像。我做错了什么?

这里是 C# 代码:

    namespace WebServer
    {
    class Program
    {
    static void Main(string[] args)
    {
    TcpListener listener = new TcpListener(8080);
    listener.Start();

    while (true) {

    Console.WriteLine("Waiting for connection...");
    TcpClient Client = listener.AcceptTcpClient();
    StreamReader sr = new StreamReader(Client.GetStream());
    StreamWriter sw = new StreamWriter(Client.GetStream());

    try
    {
    string request = sr.ReadLine();
    Console.WriteLine(request);
    string[] tokens = request.Split(' ');
    string page = tokens[1];
    if (page == "/") {

    page = "index.htm";


    }


    StreamReader file = new StreamReader("../../web/"+page);



    sw.WriteLine("HTTP/1.0 200 ok\n");


    //send the file

    string data = file.ReadLine();

    while (data != null)
    {


    sw.WriteLine(data);
    sw.Flush();
    data = file.ReadLine();



    }
    }
    catch (Exception ex)
    {


    //error

    sw.WriteLine("HTTP/1.0 404 ok\n");
    sw.WriteLine("<h1>Sorry! We could not find your file!</h1>");
    sw.Flush();


    }
    Client.Close();

    }




    }




    }



    }

为什么会出现这个问题,我该如何解决? 如何在浏览器中显示图像和视频文件的使用情况?

【问题讨论】:

    标签: c# asp.net http-headers


    【解决方案1】:
    1. 我无法想象您为什么需要实现自己的网络服务器
    2. 您的服务器从 html 页面请求图像时返回给浏览器的内容是什么?是 404 还是实际的图片内容?
    3. 考虑为您的 http 响应设置正确的内容类型
    4. 这里有一些讨论How does browser know the content type when such header is not specified?

    【讨论】:

      猜你喜欢
      • 2018-01-22
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 2021-11-25
      • 1970-01-01
      • 1970-01-01
      • 2015-04-30
      • 2021-06-13
      相关资源
      最近更新 更多