那么C++如何将文件上传HTTP服务器上呢?
HTTP上传
HTTP上传文件的时候,需要设置Content-Type为multipart/form-data;它包括一个类似标志性质的名为boundary的标志,它可以是随便输入的字符串。如boundary=----fasjdflkj23r8uffsdl, 对后面的具体内容也是必须的。它用来分辨一段内容的开始,用于将后面的数据分成数据块。数据可以文本,也可以是文件等。数据内容前面需要有Content-Disposition, Content-Type以及Content-Transfer-Encoding等说明字段。最后结束加入结束标记。
下面是一个发送给服务器的数据内容示例:
POST /upload_file/UploadFile HTTP/1.1
Accept: text/plain, */*
Accept-Language: zh-cn
Host: 192.168.29.65:80
Content-Type:multipart/form-data;boundary=---------------------------7d33a816d302b6
User-Agent: Mozilla/4.0 (compatible; OpenOffice.org)
Content-Length: 424
Connection: Keep-Alive
-----------------------------7d33a816d302b6
Content-Disposition: form-data; name="userfile1"; filename="E:\s"