我正在编写一个 HTTP 网络服务器。我的服务器必须处理 Http 多部分请求。在我之前的实现中,我借助请求的每个部分中存在的内容长度标头来提取数据。我使用的客户端在多部分请求中为每个部分(文件)提供内容长度标头。
但是另一个客户端没有给出每个文件的内容长度。在我的实现中,我使用 content-length 标头来提取那么多字节并将它们保存到文件中。
请告诉我现在如何提取数据。
我现在得到的标题是:
POST xxxxxxxxxxxxxxxxxxxxxxx¤tTab=PHOTOxxxxxxxxxxxxxxxx HTTP/1.1
Content-Length: 6829
Content-Type: multipart/form-data; boundary=SnlCg9JqTpQIl6t_mPzByTjZ8bD24kUj; charset=UTF-8
Host: host
Connection: Keep-Alive
User-Agent: Apache-HttpClient/xxxxxxxx
Accept-Encoding: gzip
--SnlCg9JqTpQIl6t_mPzByTjZ8bD24kUj
Content-Disposition: form-data; name="file"; filename="imagesCA5L2CL6_jpg(2)_jpg.jpg"
Content-Type: photo/jpg
**Some Data byte array**
--SnlCg9JqTpQIl6t_mPzByTjZ8bD24kUj--
在此请求中,部分数据中现在有 content-length 标头。
编辑:
早些时候,此客户端用于在每个部分中发送内容长度标头。但由于某种原因,它不再发送它了。任何人都可以提出任何理由。
谢谢