zoukankan      html  css  js  c++  java
  • 升级tinyhttpd-0.1.0,让其支持网页显示图像

    tinyhttpd是学习http协议非常好的工具,但是由于其过于简单,不支持在网页上显示图片,所以我改了一些代码,让tinyhttpd可以现实图像,供新手一起学习和熟悉http协议,ubuntu14.04下直接make就可以,已经测试通过.

    代码: download.csdn.net/detail/qiankun1993/9524289

    主要增加两个函数,第一个是图像封装头的函数,传输图片时要将html的头中的Content-Type设置为image/png:

    void headers2(int client, const char *filename)
    {
     char buf[1024];
     (void)filename;  /* could use filename to determine file type */
    
     strcpy(buf, "HTTP/1.0 200 OK
    ");
     send(client, buf, strlen(buf), 0);
     strcpy(buf, SERVER_STRING);
     send(client, buf, strlen(buf), 0);
     sprintf(buf, "Content-Type: image/png
    ");
     send(client, buf, strlen(buf), 0);
     strcpy(buf, "
    ");
     send(client, buf, strlen(buf), 0);
    }

    第二个是读取本地图片文件的函数,使用下面的cat2()来读取图像文件的数据:

    void cat2(int client, FILE *resource)
    {
     char buf[1024];
     char c;
     while ((fscanf(resource,"%c",&c))!=EOF)
     {
      send(client, &c, 1, 0);
      printf("%c",c);
     }
     printf("%c",c);
    }

    然后就可以在网页上显示图像了,这个仅供新手学习,大牛们不要鄙视我.

  • 相关阅读:
    CentOS7.6配置ip
    查看当前用户下没有主键也没有唯一性索引的表
    C++ 开机自动启动
    C++ 判断是文件还是文件夹
    Duilib热键
    c++将字符转换成字符串
    duilib中各控件响应的消息类型
    Duilib程序添加托盘图标显示
    C++打开文件夹
    C++获取驱动盘句柄
  • 原文地址:https://www.cnblogs.com/dchipnau/p/5506225.html
Copyright © 2011-2022 走看看