c语言http上传图片,基于RTOS的c语言实现http文件上传

  • Post author:
  • Post category:其他


本实验为了减少代码量,使用了封装比较完善的http库,本文主要讲述http文件上传的主要要求。

一、分析http关键头部信息

为了分析http header,我们通过chrome得到上传文件时的http信息:

1c91ddf5e54e

html_header.PNG

通过上面的截图我们可以发现,关键头部信息为Content-type和Content-length。一般我们写html上传时,都会在form标签加一个multipart-data属性表示该表单有文件上传输入域,so我们在使用c实现http上传的时候,就需要在头部Content-type项加入multipart-data值,有人会问,诶,那后面的boundary是什么?

boundary表示的是每个表单输入域的分界!例:—-ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC

好了,Content-type有了,接下来我们需要的就是Content-length项的信息了。Content-length表示的是请求内容的长度(byte),那这个长度到底是多大?请看下图:

1c91ddf5e54e

sum.PNG

从图中我们不难看出,Content-length=上传文件大小+输入域头部信息+输入域尾部(byte)。

贴上计算长度的代码一份作为参考:

int ge